create empty table support for postgres

This commit is contained in:
Lunny Xiao 2015-08-28 17:00:48 +08:00
parent 4813c0110d
commit 1246ee6c93
1 changed files with 23 additions and 18 deletions

View File

@ -229,28 +229,33 @@ func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset stri
tableName = table.Name
}
sql += b.dialect.Quote(tableName) + " ("
sql += b.dialect.Quote(tableName)
sql += " ("
pkList := table.PrimaryKeys
if len(table.ColumnsSeq()) > 0 {
pkList := table.PrimaryKeys
for _, colName := range table.ColumnsSeq() {
col := table.GetColumn(colName)
if col.IsPrimaryKey && len(pkList) == 1 {
sql += col.String(b.dialect)
} else {
sql += col.StringNoPk(b.dialect)
for _, colName := range table.ColumnsSeq() {
col := table.GetColumn(colName)
if col.IsPrimaryKey && len(pkList) == 1 {
sql += col.String(b.dialect)
} else {
sql += col.StringNoPk(b.dialect)
}
sql = strings.TrimSpace(sql)
sql += ", "
}
sql = strings.TrimSpace(sql)
sql += ", "
}
if len(pkList) > 1 {
sql += "PRIMARY KEY ( "
sql += b.dialect.Quote(strings.Join(pkList, b.dialect.Quote(",")))
sql += " ), "
}
if len(pkList) > 1 {
sql += "PRIMARY KEY ( "
sql += b.dialect.Quote(strings.Join(pkList, b.dialect.Quote(",")))
sql += " ), "
}
sql = sql[:len(sql)-2]
}
sql += ")"
sql = sql[:len(sql)-2] + ")"
if b.dialect.SupportEngine() && storeEngine != "" {
sql += " ENGINE=" + storeEngine
}
@ -262,7 +267,7 @@ func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset stri
sql += " DEFAULT CHARSET " + charset
}
}
sql += ";"
return sql
}