From 5c7a0d235ee1f99fac813bd0929ab1196372181e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Mon, 17 Jun 2024 18:15:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20mysql=20=E8=AF=AD=E5=8F=A5?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install/define/index.go | 10 +++++----- install/define/table.go | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/install/define/index.go b/install/define/index.go index b71af79..159789f 100644 --- a/install/define/index.go +++ b/install/define/index.go @@ -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 diff --git a/install/define/table.go b/install/define/table.go index 103714e..dae7cee 100644 --- a/install/define/table.go +++ b/install/define/table.go @@ -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