gorm
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package configs
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
@@ -10,9 +9,7 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// 使用SQLite3初始化數據庫
|
||||
func init() {
|
||||
|
||||
// 設置日誌顯示文件名和行號
|
||||
log.SetFlags(log.Lshortfile | log.LstdFlags)
|
||||
|
||||
@@ -20,91 +17,16 @@ func init() {
|
||||
if _, err := os.Stat("data"); os.IsNotExist(err) {
|
||||
os.Mkdir("data", os.ModePerm)
|
||||
}
|
||||
|
||||
// 初始化數據庫
|
||||
db, err := sql.Open("sqlite3", "data/sqlite3.db")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
// 一次性創建多個數據表(自增主鍵)
|
||||
_, err = db.Exec(`
|
||||
CREATE TABLE IF NOT EXISTS images(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT,
|
||||
width INTEGER,
|
||||
height INTEGER,
|
||||
prompt TEXT,
|
||||
negative_prompt TEXT,
|
||||
num_inference_steps INTEGER,
|
||||
guidance_scale REAL,
|
||||
scheduler TEXT,
|
||||
seed INTEGER,
|
||||
from_image TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT,
|
||||
user_id INTEGER
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS models(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT,
|
||||
type TEXT,
|
||||
trigger_words TEXT,
|
||||
base_model TEXT,
|
||||
model_path TEXT,
|
||||
status TEXT,
|
||||
progress INTEGER,
|
||||
image TEXT,
|
||||
tags TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT,
|
||||
user_id INTEGER
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS users(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT,
|
||||
email TEXT,
|
||||
password TEXT,
|
||||
slat TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS tags(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS tasks(
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT,
|
||||
status TEXT,
|
||||
progress INTEGER,
|
||||
created_at TEXT,
|
||||
updated_at TEXT,
|
||||
user_id INTEGER
|
||||
);
|
||||
CREATE TABLE IF NOT EXISTS sessions(
|
||||
id TEXT PRIMARY KEY,
|
||||
user_id INTEGER,
|
||||
created_at TEXT,
|
||||
updated_at TEXT
|
||||
);
|
||||
`)
|
||||
defer db.Close()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
// GetDB 獲取數據庫連接
|
||||
func GetDB() (*sql.DB, error) {
|
||||
db, err := sql.Open("sqlite3", "data/sqlite3.db")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return db, nil
|
||||
}
|
||||
//// GetDB 獲取數據庫連接
|
||||
//func GetDB() (*sql.DB, error) {
|
||||
// db, err := sql.Open("sqlite3", "data/sqlite3.db")
|
||||
// if err != nil {
|
||||
// return nil, err
|
||||
// }
|
||||
// return db, nil
|
||||
//}
|
||||
|
||||
// ORMDB 使用 GORM
|
||||
func ORMDB() (db *gorm.DB) {
|
||||
|
Reference in New Issue
Block a user