修复 mysql 语句生成的BUG

This commit is contained in:
白茶清欢 2024-06-17 18:15:38 +08:00
parent 572ed2b0f3
commit 5c7a0d235e
2 changed files with 9 additions and 6 deletions

View File

@ -88,15 +88,15 @@ func (i *Index) ToString(tableName string) (string, error) {
// 拼接sql
switch i.Type {
case TableIndexPrimary:
return fmt.Sprintf("ALTER TABLE `%v` ADD PRIMARY KEY (%v)", tableName, i.FieldList[0]), nil
return fmt.Sprintf("PRIMARY KEY (%v)", i.FieldList[0]), nil
case TableIndexUnique:
return fmt.Sprintf("ALTER TABLE `%v` ADD UNIQUE KEY %v (%v)", tableName, i.Name, strings.Join(i.FieldList, ",")), nil
return fmt.Sprintf("UNIQUE KEY %v (%v)", i.Name, strings.Join(i.FieldList, ",")), nil
case TableIndexKey:
return fmt.Sprintf("ALTER TABLE `%v` ADD KEY %v (%v)", tableName, i.Name, strings.Join(i.FieldList, ",")), nil
return fmt.Sprintf("KEY %v (%v)", i.Name, strings.Join(i.FieldList, ",")), nil
case TableIndexIndex:
return fmt.Sprintf("ALTER TABLE `%v` ADD INDEX %v (%v)", tableName, i.Name, strings.Join(i.FieldList, ",")), nil
return fmt.Sprintf("INDEX %v (%v)", i.Name, strings.Join(i.FieldList, ",")), nil
default:
return fmt.Sprintf("ALTER TABLE `%v` ADD %v %v (%v)", tableName, i.Type, i.Name, strings.Join(i.FieldList, ",")), nil
return fmt.Sprintf("%v %v (%v)", i.Type, i.Name, strings.Join(i.FieldList, ",")), nil
}
case consts.DatabaseDriverSqlite3:
// 拼接sql

View File

@ -127,7 +127,10 @@ func (t *Table) ToString() ([]string, error) {
indexList = append(indexList, indexStr)
}
replaceTable[TableFieldList] = strings.Join(fieldList, ",")
replaceTable[TableIndexList] = strings.Join(indexList, ",")
if len(indexList) > 0 && consts.DatabaseDriverMysql == DatabaseDriver {
replaceTable[TableIndexList] = "," + strings.Join(indexList, ",")
indexList = make([]string, 0)
}
if len(t.Engine) > 0 {
replaceTable[TableEngine] = "ENGINE=" + t.Engine