1
0
forked from BRT/arc
arc/migrations.sql
slava d21e7f4048 Add database schema and DAO implementation for accounts and transactions
Introduced tables for devices, accounts, and transactions in the schema, along with associated models. Implemented DAO methods for CRUD operations, including upsert functionality for accounts and deduplication for transactions. These changes enable structured management of account and transaction data.
2025-04-21 12:01:24 +07:00

37 lines
1.0 KiB
SQL

CREATE TABLE IF NOT EXISTS devices
(
id TEXT PRIMARY KEY,
status TEXT,
name TEXT,
android TEXT,
screen_width INTEGER,
screen_height INTEGER,
battery INTEGER,
update_time DATETIME,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
image BLOB
);
CREATE TABLE IF NOT EXISTS accounts
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
device_id TEXT,
app_name TEXT,
card_name TEXT,
amount REAL,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP,
status TEXT,
FOREIGN KEY (device_id) REFERENCES devices (id) ON DELETE CASCADE,
UNIQUE (device_id, app_name, card_name)
);
CREATE TABLE IF NOT EXISTS transactions
(
id INTEGER PRIMARY KEY AUTOINCREMENT,
account_id INTEGER,
amount REAL,
description TEXT,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (account_id) REFERENCES accounts (id) ON DELETE CASCADE,
UNIQUE (amount, timestamp)
);