fix: correct SQLite database connection string and add connection validation

This commit is contained in:
garionion (aider) 2025-02-25 23:12:51 +01:00
parent e7079e9892
commit 9efc8a209b

29
main.go
View file

@ -77,7 +77,7 @@ func main() {
defer logger.Sync() defer logger.Sync()
if cfgErr != nil { if cfgErr != nil {
logger.Fatal("Failed to load config", zap.Error(err)) logger.Fatal("Failed to load config", zap.Error(cfgErr))
} }
fmt.Println("test") fmt.Println("test")
@ -96,17 +96,34 @@ func main() {
} }
// Initialize database connection // Initialize database connection
dsn := fmt.Sprintf("%s:%s@tcp(%s:%d)/%s", var dsn string
cfg.DB.User, cfg.DB.Password, cfg.DB.Host, cfg.DB.Port, cfg.DB.DBName) if cfg.DB.Driver == "sqlite3" {
// For SQLite, the DSN is just the path to the database file
dsn = cfg.DB.DBName
} else {
// For other databases like MySQL, use the standard connection string
dsn = fmt.Sprintf("%s:%s@tcp(%s:%d)/%s",
cfg.DB.User, cfg.DB.Password, cfg.DB.Host, cfg.DB.Port, cfg.DB.DBName)
}
var err error
db, err = sql.Open(cfg.DB.Driver, dsn) db, err = sql.Open(cfg.DB.Driver, dsn)
if err != nil { if err != nil {
logger.Fatal("Failed to connect to database", zap.Error(err)) logger.Fatal("Failed to connect to database", zap.Error(err))
} }
defer db.Close() defer db.Close()
logger.Info("migrating sqlite database") // Test the connection
if err := migrateSqlite(db); err != nil { if err = db.Ping(); err != nil {
logger.Fatal("Failed to migrate database", zap.Error(err)) logger.Fatal("Failed to ping database", zap.Error(err))
}
logger.Info("Successfully connected to database", zap.String("driver", cfg.DB.Driver))
if cfg.DB.Driver == "sqlite3" {
logger.Info("migrating sqlite database")
if err := migrateSqlite(db); err != nil {
logger.Fatal("Failed to migrate database", zap.Error(err))
}
} }
// Initialize Echo // Initialize Echo