mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 15:09:42 +00:00
gen_sqlboiler: fix incorrect database path for non-default sqlite location (#603)
* the generator should use the same path as the database/drivers/sqlite3 * remove unused data directory * generate sqlboiler.json for model generation * ignore target folder
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -32,4 +32,7 @@ sqlboiler.json
|
||||
|
||||
# GCT API Check
|
||||
backup.json
|
||||
.DS_STORE
|
||||
.DS_STORE
|
||||
|
||||
# Designated generated files dir
|
||||
target/
|
||||
|
||||
14
Makefile
14
Makefile
@@ -7,6 +7,7 @@ GCTPROFILERLISTENPORT=8085
|
||||
CRON = $(TRAVIS_EVENT_TYPE)
|
||||
DRIVER ?= psql
|
||||
RACE_FLAG := $(if $(NO_RACE_TEST),,-race)
|
||||
CONFIG_FLAG = $(if $(CONFIG),-config $(CONFIG),)
|
||||
|
||||
.PHONY: get linter check test build install update_deps
|
||||
|
||||
@@ -52,9 +53,16 @@ profile_heap:
|
||||
profile_cpu:
|
||||
go tool pprof -http "localhost:$(GCTPROFILERLISTENPORT)" 'http://localhost:$(GCTLISTENPORT)/debug/pprof/profile'
|
||||
|
||||
gen_db_models:
|
||||
.PHONY: gen_db_models
|
||||
gen_db_models: target/sqlboiler.json
|
||||
ifeq ($(DRIVER), psql)
|
||||
sqlboiler -o database/models/postgres -p postgres --no-auto-timestamps --wipe $(DRIVER)
|
||||
sqlboiler -c $< -o database/models/postgres -p postgres --no-auto-timestamps --wipe $(DRIVER)
|
||||
else ifeq ($(DRIVER), sqlite3)
|
||||
sqlboiler -c $< -o database/models/sqlite3 -p sqlite3 --no-auto-timestamps --wipe $(DRIVER)
|
||||
else
|
||||
sqlboiler -o database/models/sqlite3 -p sqlite3 --no-auto-timestamps --wipe $(DRIVER)
|
||||
$(error Driver '$(DRIVER)' not supported)
|
||||
endif
|
||||
|
||||
target/sqlboiler.json:
|
||||
mkdir -p $(@D)
|
||||
go run ./cmd/gen_sqlboiler_config/main.go $(CONFIG_FLAG) -outdir $(@D)
|
||||
|
||||
@@ -7,9 +7,7 @@ import (
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
|
||||
"github.com/thrasher-corp/gocryptotrader/common"
|
||||
"github.com/thrasher-corp/gocryptotrader/config"
|
||||
"github.com/thrasher-corp/gocryptotrader/core"
|
||||
"github.com/thrasher-corp/gocryptotrader/database"
|
||||
@@ -17,9 +15,8 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
configFile string
|
||||
defaultDataDir string
|
||||
outputFolder string
|
||||
configFile string
|
||||
outputFolder string
|
||||
)
|
||||
|
||||
var sqlboilerConfig map[string]driverConfig
|
||||
@@ -41,7 +38,6 @@ func main() {
|
||||
fmt.Println()
|
||||
|
||||
flag.StringVar(&configFile, "config", config.DefaultFilePath(), "config file to load")
|
||||
flag.StringVar(&defaultDataDir, "datadir", common.GetDefaultDataDir(runtime.GOOS), "default data directory for GoCryptoTrader files")
|
||||
flag.StringVar(&outputFolder, "outdir", "", "overwrite default output folder")
|
||||
flag.Parse()
|
||||
|
||||
@@ -82,7 +78,7 @@ func convertGCTtoSQLBoilerConfig(c *database.Config) {
|
||||
dbType = "psql"
|
||||
}
|
||||
if dbType == database.DBSQLite || dbType == database.DBSQLite3 {
|
||||
tempConfig.DBName = convertDBName(c.Database)
|
||||
tempConfig.DBName = getLoadedDBPath()
|
||||
} else {
|
||||
tempConfig.User = c.Username
|
||||
tempConfig.Pass = c.Password
|
||||
@@ -95,6 +91,7 @@ func convertGCTtoSQLBoilerConfig(c *database.Config) {
|
||||
sqlboilerConfig[dbType] = tempConfig
|
||||
}
|
||||
|
||||
func convertDBName(in string) string {
|
||||
return filepath.Join(common.GetDefaultDataDir(runtime.GOOS), "database", in)
|
||||
// getLoadedDBPath gets the path loaded by 'database/drivers/sqlite3'
|
||||
func getLoadedDBPath() string {
|
||||
return filepath.Join(database.DB.DataPath, database.DB.Config.Database)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user