diff --git a/internal/db/migrations/migration.go b/internal/db/migrations/migration.go index e4c0b13..fac2eb6 100644 --- a/internal/db/migrations/migration.go +++ b/internal/db/migrations/migration.go @@ -6,12 +6,5 @@ import ( func MigrateDatabase(db *gorm.DB) error { // v1.0.13 修复请求日志数据 - if err := V1_0_13_FixRequestLogs(db); err != nil { - return err - } - // v1.0.16 增加 key_value 字段长度 - if err := V1_0_16_IncreaseKeyValueLength(db); err != nil { - return err - } - return nil + return V1_0_13_FixRequestLogs(db) } diff --git a/internal/db/migrations/v1.0.16_increase_key_value_length.go b/internal/db/migrations/v1.0.16_increase_key_value_length.go deleted file mode 100644 index 0c232c1..0000000 --- a/internal/db/migrations/v1.0.16_increase_key_value_length.go +++ /dev/null @@ -1,47 +0,0 @@ -package db - -import ( - "fmt" - - "gorm.io/gorm" -) - -// V1_0_16_IncreaseKeyValueLength migrates the key_value column length. -func V1_0_16_IncreaseKeyValueLength(db *gorm.DB) error { - if err := alterColumnType(db, "api_keys", "key_value", "varchar(1024)"); err != nil { - return fmt.Errorf("failed to migrate api_keys table: %w", err) - } - - if err := alterColumnType(db, "request_logs", "key_value", "varchar(1024)"); err != nil { - return fmt.Errorf("failed to migrate request_logs table: %w", err) - } - - return nil -} - -func alterColumnType(db *gorm.DB, tableName, columnName, newType string) error { - var currentType string - switch db.Dialector.Name() { - case "sqlite": - return nil - case "mysql": - err := db.Raw("SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND COLUMN_NAME = ?", - db.Migrator().CurrentDatabase(), tableName, columnName).Scan(¤tType).Error - if err != nil { - return err - } - if currentType == newType { - return nil - } - return db.Exec(fmt.Sprintf("ALTER TABLE %s MODIFY COLUMN %s %s", tableName, columnName, newType)).Error - case "postgres": - err := db.Raw("SELECT data_type FROM information_schema.columns WHERE table_name = ? AND column_name = ?", - tableName, columnName).Scan(¤tType).Error - if err != nil { - return err - } - return db.Exec(fmt.Sprintf("ALTER TABLE %s ALTER COLUMN %s TYPE %s", tableName, columnName, newType)).Error - default: - return nil - } -}