diff --git a/pkg/datastore/datastore_container.go b/pkg/datastore/datastore_container.go index 8473f04c..9d64b664 100644 --- a/pkg/datastore/datastore_container.go +++ b/pkg/datastore/datastore_container.go @@ -3,6 +3,7 @@ package datastore import ( "fmt" "net/url" + "os" "strings" "time" @@ -59,6 +60,18 @@ func initializeDatabase(dbConfig *settings.DatabaseConfig) (*Database, error) { var connStr string var err error + if dbConfig.DatabaseType == settings.DBTYPE_SQLITE3 { + if _, err = os.Stat(dbConfig.DatabasePath); err != nil { + file, err := os.Create(dbConfig.DatabasePath) + + if err != nil { + return nil, err + } + + defer file.Close() + } + } + if dbConfig.DatabaseType == settings.DBTYPE_MYSQL { connStr, err = getMysqlConnectionString(dbConfig) } else if dbConfig.DatabaseType == settings.DBTYPE_POSTGRES { diff --git a/pkg/settings/setting.go b/pkg/settings/setting.go index 78f06de0..df64cde3 100644 --- a/pkg/settings/setting.go +++ b/pkg/settings/setting.go @@ -293,12 +293,7 @@ func loadDatabaseConfiguration(config *Config, configFile *ini.File, sectionName if dbConfig.DatabaseType == DBTYPE_SQLITE3 { staticDBPath := getConfigItemStringValue(configFile, sectionName, "db_path") - finalStaticDBPath, err := getFinalPath(config.WorkingPath, staticDBPath) - - if err != nil { - return err - } - + finalStaticDBPath, _ := getFinalPath(config.WorkingPath, staticDBPath) dbConfig.DatabasePath = finalStaticDBPath } @@ -397,7 +392,7 @@ func getFinalPath(workingPath, p string) (string, error) { return p, nil } - return "", err + return p, err } func getConfigItemStringValue(configFile *ini.File, sectionName string, itemName string, defaultValue ...string) string {