mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-14 06:57:35 +08:00
create database file when file not exists
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user