147 lines
4.4 KiB
SQL
147 lines
4.4 KiB
SQL
-- ============================================================
|
||
-- Схема БД ARCDeskProject
|
||
-- ============================================================
|
||
|
||
CREATE TABLE IF NOT EXISTS devices
|
||
(
|
||
id TEXT PRIMARY KEY,
|
||
api_id TEXT,
|
||
adb_serial TEXT,
|
||
status TEXT,
|
||
name TEXT,
|
||
android TEXT,
|
||
screen_width INTEGER,
|
||
screen_height INTEGER,
|
||
battery INTEGER,
|
||
update_time DATETIME,
|
||
timestamp DATETIME DEFAULT (strftime('%d.%m.%Y %H:%M:%S', 'now')),
|
||
image BLOB
|
||
);
|
||
|
||
CREATE TABLE IF NOT EXISTS bank_profiles
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
device_id TEXT,
|
||
pin_code TEXT,
|
||
pin_code_checked TEXT DEFAULT 'no',
|
||
name TEXT,
|
||
code TEXT,
|
||
package TEXT,
|
||
status TEXT DEFAULT 'off',
|
||
install TEXT DEFAULT 'no',
|
||
comment TEXT,
|
||
phone TEXT DEFAULT '',
|
||
email TEXT DEFAULT '',
|
||
full_name TEXT DEFAULT '',
|
||
bank_profile_id TEXT DEFAULT '',
|
||
currency TEXT DEFAULT '',
|
||
amount REAL DEFAULT 0,
|
||
app_version TEXT DEFAULT '',
|
||
app_version_checked_at DATETIME,
|
||
FOREIGN KEY (device_id) REFERENCES devices (id) ON DELETE CASCADE,
|
||
UNIQUE (device_id, code)
|
||
);
|
||
|
||
-- app_code: код банка ("ozon", "black") — не путать с человекочитаемым name
|
||
CREATE TABLE IF NOT EXISTS materials
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
device_id TEXT,
|
||
app_code TEXT,
|
||
last_numbers TEXT,
|
||
description TEXT,
|
||
amount REAL,
|
||
currency TEXT DEFAULT '',
|
||
update_time DATETIME DEFAULT (strftime('%d.%m.%Y %H:%M:%S', 'now')),
|
||
status TEXT DEFAULT 'active',
|
||
card_number TEXT DEFAULT '',
|
||
account_number TEXT DEFAULT '',
|
||
material_id TEXT DEFAULT '',
|
||
FOREIGN KEY (device_id) REFERENCES devices (id) ON DELETE CASCADE,
|
||
UNIQUE (device_id, app_code, last_numbers)
|
||
);
|
||
|
||
CREATE TABLE IF NOT EXISTS transactions
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
account_id INTEGER,
|
||
external_id INTEGER,
|
||
amount REAL,
|
||
fee REAL,
|
||
status TEXT,
|
||
type TEXT,
|
||
phone TEXT,
|
||
name TEXT,
|
||
short_description TEXT,
|
||
updated_short_description TEXT,
|
||
description TEXT,
|
||
updated_description TEXT,
|
||
bank_name TEXT,
|
||
bank_time TEXT,
|
||
bank_tr_external_id TEXT,
|
||
update_time DATETIME,
|
||
complete_time DATETIME,
|
||
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
receipt_image BLOB,
|
||
FOREIGN KEY (account_id) REFERENCES materials (id) ON DELETE CASCADE
|
||
);
|
||
|
||
CREATE TABLE IF NOT EXISTS events
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
account_id INTEGER,
|
||
external_id TEXT,
|
||
device_id TEXT,
|
||
amount REAL,
|
||
phone TEXT,
|
||
bank_name TEXT,
|
||
comment TEXT,
|
||
status TEXT,
|
||
type TEXT,
|
||
update_time DATETIME,
|
||
complete_time DATETIME,
|
||
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
json TEXT DEFAULT '',
|
||
sent_to_server INTEGER DEFAULT 0,
|
||
screenshot BLOB,
|
||
FOREIGN KEY (account_id) REFERENCES materials (id) ON DELETE CASCADE,
|
||
FOREIGN KEY (device_id) REFERENCES devices (id) ON DELETE CASCADE
|
||
);
|
||
|
||
CREATE TABLE IF NOT EXISTS banks
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
alias TEXT UNIQUE,
|
||
name TEXT,
|
||
nspk_name TEXT
|
||
);
|
||
|
||
CREATE TABLE IF NOT EXISTS app_logs
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
source TEXT NOT NULL DEFAULT '',
|
||
device_id TEXT NOT NULL DEFAULT '',
|
||
message TEXT NOT NULL,
|
||
screenshot BLOB,
|
||
timestamp TEXT NOT NULL
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_app_logs_ts ON app_logs (id DESC);
|
||
|
||
CREATE TABLE IF NOT EXISTS general_logs
|
||
(
|
||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||
level TEXT NOT NULL DEFAULT '',
|
||
source TEXT NOT NULL DEFAULT '',
|
||
message TEXT NOT NULL,
|
||
timestamp TEXT NOT NULL
|
||
);
|
||
|
||
CREATE INDEX IF NOT EXISTS idx_general_logs_id ON general_logs (id DESC);
|
||
|
||
CREATE TABLE IF NOT EXISTS settings
|
||
(
|
||
key TEXT PRIMARY KEY,
|
||
value TEXT
|
||
);
|