合作页面的内容
This commit is contained in:
71
server/scripts/run_inquiries_migration.go
Normal file
71
server/scripts/run_inquiries_migration.go
Normal file
@@ -0,0 +1,71 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"github.com/niangaodev/art-code/config"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// 初始化数据库连接
|
||||
config.InitDB()
|
||||
db := config.DB
|
||||
defer config.CloseDB()
|
||||
|
||||
// 读取SQL文件
|
||||
sqlFile := "scripts/create_inquiries_tables.sql"
|
||||
content, err := ioutil.ReadFile(sqlFile)
|
||||
if err != nil {
|
||||
log.Fatalf("Error reading SQL file: %v", err)
|
||||
}
|
||||
|
||||
// 分割SQL语句
|
||||
statements := strings.Split(string(content), ";")
|
||||
|
||||
// 执行每一条SQL语句
|
||||
for _, stmt := range statements {
|
||||
stmt = strings.TrimSpace(stmt)
|
||||
if stmt == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
_, err := db.Exec(stmt)
|
||||
if err != nil {
|
||||
// 忽略"表已存在"的错误(虽然我们用了IF NOT EXISTS,但为了保险)
|
||||
if !strings.Contains(err.Error(), "already exists") {
|
||||
log.Printf("Error executing statement: %s\nError: %v", stmt, err)
|
||||
}
|
||||
} else {
|
||||
// 只打印前50个字符
|
||||
displayStmt := stmt
|
||||
if len(displayStmt) > 50 {
|
||||
displayStmt = displayStmt[:50] + "..."
|
||||
}
|
||||
fmt.Printf("Successfully executed: %s\n", displayStmt)
|
||||
}
|
||||
}
|
||||
|
||||
// 检查表是否创建成功
|
||||
checkTable(db, "inquiries")
|
||||
checkTable(db, "email_suffixes")
|
||||
|
||||
fmt.Println("Inquiries tables migration completed successfully!")
|
||||
}
|
||||
|
||||
func checkTable(db *sql.DB, tableName string) {
|
||||
var name string
|
||||
err := db.QueryRow("SHOW TABLES LIKE ?", tableName).Scan(&name)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
fmt.Printf("Table %s does NOT exist!\n", tableName)
|
||||
} else {
|
||||
fmt.Printf("Error checking table %s: %v\n", tableName, err)
|
||||
}
|
||||
} else {
|
||||
fmt.Printf("Table %s exists.\n", tableName)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user