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()
|
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
|
||||||
|
|
Loading…
Add table
Reference in a new issue