DB Migrations #67
52
pkg/db/db.go
52
pkg/db/db.go
|
@ -37,32 +37,42 @@ func CreateDBEngine() (engine *xorm.Engine, err error) {
|
||||||
|
|
||||||
// Use Mysql if set
|
// Use Mysql if set
|
||||||
if viper.GetString("database.type") == "mysql" {
|
if viper.GetString("database.type") == "mysql" {
|
||||||
connStr := fmt.Sprintf(
|
engine, err = initMysqlEngine()
|
||||||
"%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true",
|
if err != nil {
|
||||||
viper.GetString("database.user"),
|
return
|
||||||
viper.GetString("database.password"),
|
}
|
||||||
viper.GetString("database.host"),
|
} else {
|
||||||
viper.GetString("database.database"))
|
// Otherwise use sqlite
|
||||||
e, err := xorm.NewEngine("mysql", connStr)
|
engine, err = initSqliteEngine()
|
||||||
e.SetMaxOpenConns(viper.GetInt("database.openconnections"))
|
if err != nil {
|
||||||
return e, err
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Otherwise use sqlite
|
|
||||||
path := viper.GetString("database.path")
|
|
||||||
if path == "" {
|
|
||||||
path = "./db.db"
|
|
||||||
}
|
|
||||||
|
|
||||||
engine, err = xorm.NewEngine("sqlite3", path)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
engine.SetMapper(core.GonicMapper{})
|
engine.SetMapper(core.GonicMapper{})
|
||||||
|
|
||||||
engine.ShowSQL(viper.GetString("log.database") != "off")
|
engine.ShowSQL(viper.GetString("log.database") != "off")
|
||||||
engine.SetLogger(xorm.NewSimpleLogger(log.GetLogWriter("database")))
|
engine.SetLogger(xorm.NewSimpleLogger(log.GetLogWriter("database")))
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func initMysqlEngine() (engine *xorm.Engine, err error) {
|
||||||
|
connStr := fmt.Sprintf(
|
||||||
|
"%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true",
|
||||||
|
viper.GetString("database.user"),
|
||||||
|
viper.GetString("database.password"),
|
||||||
|
viper.GetString("database.host"),
|
||||||
|
viper.GetString("database.database"))
|
||||||
|
engine, err = xorm.NewEngine("mysql", connStr)
|
||||||
|
engine.SetMaxOpenConns(viper.GetInt("database.openconnections"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func initSqliteEngine() (engine *xorm.Engine, err error) {
|
||||||
|
path := viper.GetString("database.path")
|
||||||
|
if path == "" {
|
||||||
|
path = "./db.db"
|
||||||
|
}
|
||||||
|
|
||||||
|
return xorm.NewEngine("sqlite3", path)
|
||||||
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ func (tasksReminderDateMigration20190324205606) TableName() string {
|
||||||
func init() {
|
func init() {
|
||||||
migrations = append(migrations, &xormigrate.Migration{
|
migrations = append(migrations, &xormigrate.Migration{
|
||||||
ID: "20190324205606",
|
ID: "20190324205606",
|
||||||
Description: "Remove reminder_unix from tasks",
|
Description: "Remove reminders_unix from tasks",
|
||||||
Migrate: func(tx *xorm.Engine) error {
|
Migrate: func(tx *xorm.Engine) error {
|
||||||
return dropTableColum(tx, "tasks", "reminders_unix")
|
return dropTableColum(tx, "tasks", "reminders_unix")
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue
Block a user