mirror of
https://codeberg.org/crowci/crow.git
synced 2025-08-09 07:42:52 +03:00
Migrate to Xorm (#474)
close #234 * Migrate store * Migrate tests * Rewrite migrations * Init fresh DB in on step * Rm old stuff (meddler, sql files, dead code, ...)
This commit is contained in:
@@ -17,7 +17,6 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -50,7 +49,19 @@ func setupStore(c *cli.Context) (store.Store, error) {
|
||||
datasource := c.String("datasource")
|
||||
driver := c.String("driver")
|
||||
|
||||
if strings.ToLower(driver) == "sqlite3" {
|
||||
if driver == "sqlite3" {
|
||||
if datastore.SupportedDriver("sqlite3") {
|
||||
log.Debug().Msgf("server has sqlite3 support")
|
||||
} else {
|
||||
log.Debug().Msgf("server was build with no sqlite3 support!")
|
||||
}
|
||||
}
|
||||
|
||||
if !datastore.SupportedDriver(driver) {
|
||||
log.Fatal().Msgf("database driver '%s' not supported", driver)
|
||||
}
|
||||
|
||||
if driver == "sqlite3" {
|
||||
if new, err := fallbackSqlite3File(datasource); err != nil {
|
||||
log.Fatal().Err(err).Msg("fallback to old sqlite3 file failed")
|
||||
} else {
|
||||
@@ -58,12 +69,21 @@ func setupStore(c *cli.Context) (store.Store, error) {
|
||||
}
|
||||
}
|
||||
|
||||
opts := &datastore.Opts{
|
||||
opts := &store.Opts{
|
||||
Driver: driver,
|
||||
Config: datasource,
|
||||
}
|
||||
log.Trace().Msgf("setup datastore: %#v", opts)
|
||||
return datastore.New(opts)
|
||||
log.Trace().Msgf("setup datastore: %#v", *opts)
|
||||
store, err := datastore.NewEngine(opts)
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("could not open datastore")
|
||||
}
|
||||
|
||||
if err := store.Migrate(); err != nil {
|
||||
log.Fatal().Err(err).Msg("could not migrate datastore")
|
||||
}
|
||||
|
||||
return store, nil
|
||||
}
|
||||
|
||||
// TODO: convert it to a check and fail hard only function in v0.16.0 to be able to remove it in v0.17.0
|
||||
|
Reference in New Issue
Block a user