fix: correct SQLite database connection string and add connection validation
This commit is contained in:
parent
e7079e9892
commit
9efc8a209b
1 changed files with 23 additions and 6 deletions
29
main.go
29
main.go
|
@ -77,7 +77,7 @@ func main() {
|
|||
defer logger.Sync()
|
||||
|
||||
if cfgErr != nil {
|
||||
logger.Fatal("Failed to load config", zap.Error(err))
|
||||
logger.Fatal("Failed to load config", zap.Error(cfgErr))
|
||||
}
|
||||
fmt.Println("test")
|
||||
|
||||
|
@ -96,17 +96,34 @@ func main() {
|
|||
}
|
||||
|
||||
// Initialize database connection
|
||||
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 dsn string
|
||||
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)
|
||||
if err != nil {
|
||||
logger.Fatal("Failed to connect to database", zap.Error(err))
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
logger.Info("migrating sqlite database")
|
||||
if err := migrateSqlite(db); err != nil {
|
||||
logger.Fatal("Failed to migrate database", zap.Error(err))
|
||||
// Test the connection
|
||||
if err = db.Ping(); err != nil {
|
||||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue