歸併
This commit is contained in:
		
							
								
								
									
										65
									
								
								configs/sqlite3.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								configs/sqlite3.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
package configs
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"database/sql"
 | 
			
		||||
	"log"
 | 
			
		||||
 | 
			
		||||
	_ "github.com/mattn/go-sqlite3"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// 使用SQLite3初始化數據庫
 | 
			
		||||
func init() {
 | 
			
		||||
	// 初始化數據庫
 | 
			
		||||
	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,
 | 
			
		||||
			created_at TEXT,
 | 
			
		||||
			updated_at TEXT
 | 
			
		||||
		);
 | 
			
		||||
		CREATE TABLE IF NOT EXISTS models(
 | 
			
		||||
			id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
			name TEXT,
 | 
			
		||||
			created_at TEXT,
 | 
			
		||||
			updated_at TEXT
 | 
			
		||||
		);
 | 
			
		||||
		CREATE TABLE IF NOT EXISTS users(
 | 
			
		||||
			id INTEGER PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
			name TEXT,
 | 
			
		||||
			password 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,
 | 
			
		||||
			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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user