Config: Move database DSN-related functionality to "pkg/dsn" #47 #5285

Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
Michael Mayer
2025-11-03 13:40:34 +01:00
parent 40097b6285
commit 06df64281d
20 changed files with 469 additions and 408 deletions

View File

@@ -46,7 +46,7 @@ func InitDb(opt migrate.Options) {
}
// InitTestDb connects to and completely initializes the test database incl fixtures.
func InitTestDb(driver, dsn string) *DbConn {
func InitTestDb(driver, dbDsn string) *DbConn {
if HasDbProvider() {
return nil
}
@@ -54,28 +54,28 @@ func InitTestDb(driver, dsn string) *DbConn {
start := time.Now()
// Set default test database driver.
if driver == "test" || driver == "sqlite" || driver == "" || dsn == "" {
if driver == "test" || driver == "sqlite" || driver == "" || dbDsn == "" {
driver = SQLite3
}
// Set default database DSN.
if driver == SQLite3 {
if dsn == "" || dsn == SQLiteTestDB {
dsn = SQLiteTestDB
if !fs.FileExists(dsn) {
log.Debugf("sqlite: test database %s does not already exist", clean.Log(dsn))
} else if err := os.Remove(dsn); err != nil {
log.Errorf("sqlite: failed to remove existing test database %s (%s)", clean.Log(dsn), err)
if dbDsn == "" || dbDsn == SQLiteTestDB {
dbDsn = SQLiteTestDB
if !fs.FileExists(dbDsn) {
log.Debugf("sqlite: test database %s does not already exist", clean.Log(dbDsn))
} else if err := os.Remove(dbDsn); err != nil {
log.Errorf("sqlite: failed to remove existing test database %s (%s)", clean.Log(dbDsn), err)
}
}
}
log.Infof("initializing %s test db in %s", driver, dsn)
log.Infof("initializing %s test db in %s", driver, dbDsn)
// Create gorm.DB connection provider.
db := &DbConn{
Driver: driver,
Dsn: dsn,
Dsn: dbDsn,
}
// Insert test fixtures into the database.