From 6dd64c0118da0250831b17bf3a44420307eba9de Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Mon, 16 Oct 2023 17:17:02 +0300 Subject: [PATCH] fix: actually working unique constraints yes, another breaking change to the initial schema --- db/db.go | 3 ++- db/migrations.go | 12 +++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/db/db.go b/db/db.go index 9f2bd26..abfab23 100644 --- a/db/db.go +++ b/db/db.go @@ -17,7 +17,8 @@ var DBConn *sql.DB func InitDB() error { var err error - DBConn, err = sql.Open("sqlite3", config.FeluConfig.DataDir + "felu.db") + DBConn, err = sql.Open("sqlite3", + config.FeluConfig.DataDir + "felu.db?_foreign_keys=true") if err != nil { return err } diff --git a/db/migrations.go b/db/migrations.go index 5e395e0..8b06208 100644 --- a/db/migrations.go +++ b/db/migrations.go @@ -66,19 +66,17 @@ func migrations() []string { schema_version INTEGER )`, migrationsTable), fmt.Sprintf(`CREATE TABLE users ( - id TEXT NOT NULL PRIMARY KEY, - email TEXT NOT NULL, + id TEXT NOT NULL PRIMARY KEY UNIQUE, + email TEXT NOT NULL UNIQUE, pwd TEXT NOT NULL, - is_admin INTEGER DEFAULT FALSE NOT NULL, - UNIQUE(id, email) + is_admin INTEGER DEFAULT FALSE NOT NULL )`), fmt.Sprintf(`CREATE TABLE domains ( - id TEXT NOT NULL PRIMARY KEY, + id TEXT NOT NULL PRIMARY KEY UNIQUE, apikey TEXT NOT NULL, owner TEXT NOT NULL, - ddns_domain TEXT NOT NULL, + ddns_domain TEXT NOT NULL UNIQUE, a_record TEXT, - UNIQUE(id, ddns_domain), FOREIGN KEY(owner) REFERENCES users(id) )`), } -- 2.44.1