diff options
Diffstat (limited to 'database/migrate.go')
| -rw-r--r-- | database/migrate.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/database/migrate.go b/database/migrate.go index b75c123..de1db4c 100644 --- a/database/migrate.go +++ b/database/migrate.go @@ -57,6 +57,7 @@ func MigrateDNSRecords(dbConn *sql.DB) (*sql.DB, error) { type TEXT NOT NULL, content TEXT NOT NULL, ttl INTEGER NOT NULL, + internal BOOLEAN NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE);`) if err != nil { @@ -65,6 +66,26 @@ func MigrateDNSRecords(dbConn *sql.DB) (*sql.DB, error) { return dbConn, nil } +func MigrateDomainOwners(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating domain_owners table") + + _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS domain_owners ( + user_id INTEGER NOT NULL, + domain TEXT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE + );`) + if err != nil { + return dbConn, err + } + + _, err = dbConn.Exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_domain_owners_domain ON domain_owners (domain);`) + if err != nil { + return dbConn, err + } + return dbConn, nil +} + func MigrateUserSessions(dbConn *sql.DB) (*sql.DB, error) { log.Println("migrating user_sessions table") @@ -88,6 +109,7 @@ func Migrate(dbConn *sql.DB) (*sql.DB, error) { MigrateUsers, MigrateUserSessions, MigrateApiKeys, + MigrateDomainOwners, MigrateDNSRecords, } |
