支持生成sqlite建表语句 #4

Merged
zhangdeman merged 3 commits from feture/support_sqlite into master 2024-06-17 18:16:09 +08:00
2 changed files with 9 additions and 6 deletions
Showing only changes of commit 5c7a0d235e - Show all commits

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