summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.go5
-rw-r--r--sql/migrations/0003.sqlite312
2 files changed, 17 insertions, 0 deletions
diff --git a/main.go b/main.go
index 4cd1150..6f628a5 100644
--- a/main.go
+++ b/main.go
@@ -58,6 +58,11 @@ func run(
}
defer db.Close()
+ _, err = db.Exec(`PRAGMA foreign_keys = ON;`)
+ if err != nil {
+ log.Fatalf("Failed to enable foreign key support in database: %v", err)
+ }
+
err = MigrateToLatest(db)
if err != nil {
log.Fatalf("Failed to migrate SQLite3 database '%s': %v", dbPath, err)
diff --git a/sql/migrations/0003.sqlite3 b/sql/migrations/0003.sqlite3
new file mode 100644
index 0000000..79f7516
--- /dev/null
+++ b/sql/migrations/0003.sqlite3
@@ -0,0 +1,12 @@
+PRAGMA user_version = 3;
+
+CREATE TABLE tokens (
+ id INTEGER PRIMARY KEY,
+ user_id INTEGER NOT NULL,
+ token TEXT NOT NULL,
+ created_at DATETIME NOT NULL DEFAULT (datetime('now')),
+
+ FOREIGN KEY (user_id) REFERENCES users(id)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);