mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-19 17:24:26 +08:00
create database file when file not exists
This commit is contained in:
@@ -3,6 +3,7 @@ package datastore
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -59,6 +60,18 @@ func initializeDatabase(dbConfig *settings.DatabaseConfig) (*Database, error) {
|
|||||||
var connStr string
|
var connStr string
|
||||||
var err error
|
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 {
|
if dbConfig.DatabaseType == settings.DBTYPE_MYSQL {
|
||||||
connStr, err = getMysqlConnectionString(dbConfig)
|
connStr, err = getMysqlConnectionString(dbConfig)
|
||||||
} else if dbConfig.DatabaseType == settings.DBTYPE_POSTGRES {
|
} else if dbConfig.DatabaseType == settings.DBTYPE_POSTGRES {
|
||||||
|
|||||||
@@ -293,12 +293,7 @@ func loadDatabaseConfiguration(config *Config, configFile *ini.File, sectionName
|
|||||||
|
|
||||||
if dbConfig.DatabaseType == DBTYPE_SQLITE3 {
|
if dbConfig.DatabaseType == DBTYPE_SQLITE3 {
|
||||||
staticDBPath := getConfigItemStringValue(configFile, sectionName, "db_path")
|
staticDBPath := getConfigItemStringValue(configFile, sectionName, "db_path")
|
||||||
finalStaticDBPath, err := getFinalPath(config.WorkingPath, staticDBPath)
|
finalStaticDBPath, _ := getFinalPath(config.WorkingPath, staticDBPath)
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
dbConfig.DatabasePath = finalStaticDBPath
|
dbConfig.DatabasePath = finalStaticDBPath
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -397,7 +392,7 @@ func getFinalPath(workingPath, p string) (string, error) {
|
|||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return "", err
|
return p, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func getConfigItemStringValue(configFile *ini.File, sectionName string, itemName string, defaultValue ...string) string {
|
func getConfigItemStringValue(configFile *ini.File, sectionName string, itemName string, defaultValue ...string) string {
|
||||||
|
|||||||
Reference in New Issue
Block a user