|
@@ -1,5 +1,3 @@
|
|
|
-// Project: go-orm
|
|
|
|
|
-// File: pkg/database/database.go
|
|
|
|
|
// Package database 数据库连接
|
|
// Package database 数据库连接
|
|
|
package database
|
|
package database
|
|
|
|
|
|
|
@@ -7,9 +5,10 @@ import (
|
|
|
"database/sql"
|
|
"database/sql"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
|
|
|
- "github.com/runningwater/gohub/pkg/config"
|
|
|
|
|
"gorm.io/gorm"
|
|
"gorm.io/gorm"
|
|
|
gormlgger "gorm.io/gorm/logger"
|
|
gormlgger "gorm.io/gorm/logger"
|
|
|
|
|
+
|
|
|
|
|
+ "github.com/runningwater/gohub/pkg/config"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
// DB 数据库连接实例
|
|
// DB 数据库连接实例
|
|
@@ -53,7 +52,7 @@ func DeleteAllTables() error {
|
|
|
|
|
|
|
|
func deleteMySQLTables() error {
|
|
func deleteMySQLTables() error {
|
|
|
dbname := CurrentDatabase()
|
|
dbname := CurrentDatabase()
|
|
|
- tables := []string{}
|
|
|
|
|
|
|
+ var tables []string
|
|
|
|
|
|
|
|
err := DB.Table("information_schema.tables").
|
|
err := DB.Table("information_schema.tables").
|
|
|
Where("table_schema = ?", dbname).
|
|
Where("table_schema = ?", dbname).
|
|
@@ -78,7 +77,7 @@ func deleteMySQLTables() error {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func deleteAllSQLiteTables() error {
|
|
func deleteAllSQLiteTables() error {
|
|
|
- tables := []string{}
|
|
|
|
|
|
|
+ var tables []string
|
|
|
|
|
|
|
|
err := DB.Raw("SELECT name FROM sqlite_master WHERE type='table'").
|
|
err := DB.Raw("SELECT name FROM sqlite_master WHERE type='table'").
|
|
|
Pluck("name", &tables).Error
|
|
Pluck("name", &tables).Error
|
|
@@ -95,3 +94,13 @@ func deleteAllSQLiteTables() error {
|
|
|
|
|
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// TableName 获取表名
|
|
|
|
|
+func TableName(obj any) string {
|
|
|
|
|
+ stmt := &gorm.Statement{DB: DB}
|
|
|
|
|
+ err := stmt.Parse(obj)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return ""
|
|
|
|
|
+ }
|
|
|
|
|
+ return stmt.Schema.Table
|
|
|
|
|
+}
|