Create sequance at first
This commit is contained in:
parent
43482899cb
commit
edb2ff9c20
|
@ -688,6 +688,7 @@ func (db *dameng) CreateTableSQL(ctx context.Context, queryer core.Queryer, tabl
|
|||
col.Default = "0"
|
||||
}
|
||||
}
|
||||
|
||||
s, _ := ColumnString(db, col, false)
|
||||
b.WriteString(s)
|
||||
if i != len(table.ColumnsSeq())-1 {
|
||||
|
|
20
engine.go
20
engine.go
|
@ -507,17 +507,8 @@ func (engine *Engine) dumpTables(ctx context.Context, tables []*schemas.Table, w
|
|||
}
|
||||
}
|
||||
|
||||
sqlstr, _, err := dstDialect.CreateTableSQL(ctx, engine.db, dstTable, dstTableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = io.WriteString(w, sqlstr+";\n")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if dstTable.AutoIncrement != "" && dstDialect.Features().AutoincrMode == dialects.SequenceAutoincrMode {
|
||||
sqlstr, err = dstDialect.CreateSequenceSQL(ctx, engine.db, utils.SeqName(dstTableName))
|
||||
sqlstr, err := dstDialect.CreateSequenceSQL(ctx, engine.db, utils.SeqName(dstTableName))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -527,6 +518,15 @@ func (engine *Engine) dumpTables(ctx context.Context, tables []*schemas.Table, w
|
|||
}
|
||||
}
|
||||
|
||||
sqlstr, _, err := dstDialect.CreateTableSQL(ctx, engine.db, dstTable, dstTableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = io.WriteString(w, sqlstr+";\n")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if len(dstTable.PKColumns()) > 0 && dstDialect.URI().DBType == schemas.MSSQL {
|
||||
fmt.Fprintf(w, "SET IDENTITY_INSERT [%s] ON;\n", dstTable.Name)
|
||||
}
|
||||
|
|
|
@ -46,16 +46,8 @@ func (session *Session) createTable(bean interface{}) error {
|
|||
session.statement.RefTable.Charset = session.statement.Charset
|
||||
tableName := session.statement.TableName()
|
||||
refTable := session.statement.RefTable
|
||||
sqlStr, _, err := session.engine.dialect.CreateTableSQL(context.Background(), session.engine.db, refTable, tableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := session.exec(sqlStr); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if refTable.AutoIncrement != "" && session.engine.dialect.Features().AutoincrMode == dialects.SequenceAutoincrMode {
|
||||
sqlStr, err = session.engine.dialect.CreateSequenceSQL(context.Background(), session.engine.db, utils.SeqName(tableName))
|
||||
sqlStr, err := session.engine.dialect.CreateSequenceSQL(context.Background(), session.engine.db, utils.SeqName(tableName))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -64,6 +56,14 @@ func (session *Session) createTable(bean interface{}) error {
|
|||
}
|
||||
}
|
||||
|
||||
sqlStr, _, err := session.engine.dialect.CreateTableSQL(context.Background(), session.engine.db, refTable, tableName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := session.exec(sqlStr); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue