feat: first commit.

This commit is contained in:
didier amyot authored and didier amyot committed 2022-11-26 10:47:26 -05:00
commit fb26468175
12 files changed
+865

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
use rusqlite::Connection;
const MIGRATION_SCRIPT: &str = "
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
key TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS security_types (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE
);
CREATE TABLE IF NOT EXISTS securities (
id INTEGER PRIMARY KEY AUTOINCREMENT,
security_type INTEGER NOT NULL,
name TEXT NOT NULL UNIQUE,
symbol TEXT NOT NULL UNIQUE,
FOREIGN KEY(security_type) REFERENCES security_types(id)
);
CREATE TABLE IF NOT EXISTS account(
id INTEGER PRIMARY KEY AUTOINCREMENT,
security INTEGER NOT NULL,
owner INTEGER NOT NULL,
FOREIGN KEY(security) REFERENCES securities(id)
);
CREATE TABLE IF NOT EXISTS account_values(
id INTEGER PRIMARY KEY AUTOINCREMENT
);
";
pub fn migrate(conn: & Connection) {
conn.execute(MIGRATION_SCRIPT, ()).unwrap();
}