Procházet zdrojové kódy

Merge branch 'master' of https://github.com/xormplus/xorm

xormplus před 7 roky
rodič
revize
61c62c4c08
1 změnil soubory, kde provedl 13 přidání a 2 odebrání
  1. 13 2
      dialect_mysql.go

+ 13 - 2
dialect_mysql.go

@@ -489,8 +489,19 @@ func (db *mysql) GetIndexes(tableName string) (map[string]*core.Index, error) {
 
 func (db *mysql) CreateIndexSql(tableName string, index *core.Index) string {
 	quote := db.Quote
-	return fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tableName, index.Name)),
-		quote(tableName), quote(strings.Join(index.Cols, quote(","))))
+	//return fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tableName, index.Name)),
+	//	quote(tableName), quote(strings.Join(index.Cols, quote(","))))
+	switch index.Type {
+	case 1:
+		return fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tableName, index.Name)),
+			quote(tableName), quote(strings.Join(index.Cols, quote(","))))
+	case 2:
+		return fmt.Sprintf("CREATE UNIQUE INDEX %v ON %v (%v);", quote(indexName(tableName, index.Name)),
+			quote(tableName), quote(strings.Join(index.Cols, quote(","))))
+	default:
+		return fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tableName, index.Name)),
+			quote(tableName), quote(strings.Join(index.Cols, quote(","))))
+	}
 }
 
 func (db *mysql) Filters() []core.Filter {