81 lines
2.0 KiB
MySQL
81 lines
2.0 KiB
MySQL
|
-- This schema is included at compile-time into data : SqliteDataSource.
|
||
|
|
||
|
-- Basic/Utility Entities
|
||
|
|
||
|
CREATE TABLE profile_property (
|
||
|
property TEXT PRIMARY KEY,
|
||
|
value TEXT DEFAULT NULL
|
||
|
);
|
||
|
|
||
|
CREATE TABLE attachment (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
uploaded_at TEXT NOT NULL,
|
||
|
filename TEXT NOT NULL,
|
||
|
content_type TEXT NOT NULL,
|
||
|
size INTEGER NOT NULL,
|
||
|
content BLOB NOT NULL
|
||
|
);
|
||
|
|
||
|
-- Account Entities
|
||
|
|
||
|
CREATE TABLE account (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
created_at TEXT NOT NULL,
|
||
|
archived BOOLEAN NOT NULL DEFAULT FALSE,
|
||
|
type TEXT NOT NULL,
|
||
|
number_suffix TEXT,
|
||
|
name TEXT NOT NULL,
|
||
|
currency TEXT NOT NULL,
|
||
|
description TEXT
|
||
|
);
|
||
|
|
||
|
CREATE TABLE account_credit_card_properties (
|
||
|
account_id INTEGER PRIMARY KEY,
|
||
|
credit_limit TEXT,
|
||
|
CONSTRAINT fk_account_credit_card_properties_account
|
||
|
FOREIGN KEY (account_id) REFERENCES account(id)
|
||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
-- Transaction Entities
|
||
|
|
||
|
CREATE TABLE transaction_vendor (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name TEXT NOT NULL UNIQUE,
|
||
|
description TEXT
|
||
|
);
|
||
|
|
||
|
CREATE TABLE transaction_category (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
parent_id INTEGER,
|
||
|
name TEXT NOT NULL UNIQUE,
|
||
|
color TEXT NOT NULL DEFAULT 'FFFFFF',
|
||
|
CONSTRAINT fk_transaction_category_parent
|
||
|
FOREIGN KEY (parent_id) REFERENCES transaction_category(id)
|
||
|
ON UPDATE CASCADE ON DELETE CASCADE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE transaction_tag (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
name TEXT NOT NULL UNIQUE
|
||
|
);
|
||
|
|
||
|
CREATE TABLE "transaction" (
|
||
|
id INTEGER PRIMARY KEY,
|
||
|
timestamp TEXT NOT NULL,
|
||
|
added_at TEXT NOT NULL,
|
||
|
amount TEXT NOT NULL,
|
||
|
currency TEXT NOT NULL,
|
||
|
description TEXT,
|
||
|
vendor_id INTEGER,
|
||
|
category_id INTEGER,
|
||
|
CONSTRAINT fk_transaction_vendor
|
||
|
FOREIGN KEY (vendor_id) REFERENCES transaction_vendor(id)
|
||
|
ON UPDATE CASCADE ON DELETE SET NULL,
|
||
|
CONSTRAINT fk_transaction_category
|
||
|
FOREIGN KEY (category_id) REFERENCES transaction_category(id)
|
||
|
ON UPDATE CASCADE ON DELETE SET NULL
|
||
|
);
|
||
|
|
||
|
|