diff options
| author | Lizzy Hunt <lizzy.hunt@usu.edu> | 2024-03-27 15:02:31 -0600 |
|---|---|---|
| committer | Lizzy Hunt <lizzy.hunt@usu.edu> | 2024-03-27 15:02:31 -0600 |
| commit | 0dc2679005e70c50024bc49e750f3998a0c4c24b (patch) | |
| tree | 73153522195608ee2ed3bbb4c2ed3cbc621b6b07 /database/migrate.go | |
| parent | 8d65f4e23026dce5d04e9a4afaf216f0732482a6 (diff) | |
| download | hatecomputers.club-0dc2679005e70c50024bc49e750f3998a0c4c24b.tar.gz hatecomputers.club-0dc2679005e70c50024bc49e750f3998a0c4c24b.zip | |
authentication! oauth2!
Diffstat (limited to 'database/migrate.go')
| -rw-r--r-- | database/migrate.go | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/database/migrate.go b/database/migrate.go index f10e03b..b75c123 100644 --- a/database/migrate.go +++ b/database/migrate.go @@ -13,8 +13,10 @@ func MigrateUsers(dbConn *sql.DB) (*sql.DB, error) { log.Println("migrating users table") _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS users ( - id INTEGER PRIMARY KEY AUTOINCREMENT, + id TEXT PRIMARY KEY, + mail TEXT NOT NULL, username TEXT NOT NULL, + display_name TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );`) if err != nil { @@ -37,7 +39,7 @@ func MigrateApiKeys(dbConn *sql.DB) (*sql.DB, error) { key TEXT PRIMARY KEY, user_id INTEGER NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (user_id) REFERENCES users (id) + FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE );`) if err != nil { return dbConn, err @@ -49,18 +51,33 @@ func MigrateDNSRecords(dbConn *sql.DB) (*sql.DB, error) { log.Println("migrating dns_records table") _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS dns_records ( - id INTEGER PRIMARY KEY, + id TEXT PRIMARY KEY, user_id INTEGER NOT NULL, name TEXT NOT NULL, type TEXT NOT NULL, content TEXT NOT NULL, ttl INTEGER NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - FOREIGN KEY (user_id) REFERENCES users (id) + FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE);`) + if err != nil { + return dbConn, err + } + return dbConn, nil +} + +func MigrateUserSessions(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating user_sessions table") + + _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS user_sessions ( + id TEXT PRIMARY KEY, + user_id TEXT NOT NULL, + expire_at TIMESTAMP NOT NULL, + FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE );`) if err != nil { return dbConn, err } + return dbConn, nil } @@ -69,6 +86,7 @@ func Migrate(dbConn *sql.DB) (*sql.DB, error) { migrations := []Migrator{ MigrateUsers, + MigrateUserSessions, MigrateApiKeys, MigrateDNSRecords, } |
