mirror of
https://github.com/ent/ent.git
synced 2026-05-22 09:31:45 +03:00
dialect/sql/schema: avoid setting the primary key when no primary key is present (#3114)
* dialect/sql: avoid setting the primary key when no primary key is present * fix tests * adds comment
This commit is contained in:
@@ -979,7 +979,10 @@ func (a *Atlas) aIndexes(et *Table, at *schema.Table) error {
|
||||
}
|
||||
pk = append(pk, c2)
|
||||
}
|
||||
at.SetPrimaryKey(schema.NewPrimaryKey(pk...))
|
||||
// CreateFunc might clear the primary keys.
|
||||
if len(pk) > 0 {
|
||||
at.SetPrimaryKey(schema.NewPrimaryKey(pk...))
|
||||
}
|
||||
// Rest of indexes.
|
||||
for _, idx1 := range et.Indexes {
|
||||
idx2 := schema.NewIndex(idx1.Name).
|
||||
|
||||
@@ -246,7 +246,7 @@ func TestMigrate_Diff(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, m.Diff(ctx, &Table{Name: "users"}))
|
||||
v := time.Now().UTC().Format("20060102150405")
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.up.sql"), "-- create \"users\" table\nCREATE TABLE `users` (, PRIMARY KEY ());\n")
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.up.sql"), "-- create \"users\" table\nCREATE TABLE `users` ();\n")
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.down.sql"), "-- reverse: create \"users\" table\nDROP TABLE `users`;\n")
|
||||
require.FileExists(t, filepath.Join(p, migrate.HashFileName))
|
||||
|
||||
@@ -257,7 +257,7 @@ func TestMigrate_Diff(t *testing.T) {
|
||||
m, err = NewMigrate(db, WithDir(d))
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, m.Diff(ctx, &Table{Name: "users"}))
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.up.sql"), "-- create \"users\" table\nCREATE TABLE `users` (, PRIMARY KEY ());\n")
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.up.sql"), "-- create \"users\" table\nCREATE TABLE `users` ();\n")
|
||||
requireFileEqual(t, filepath.Join(p, v+"_changes.down.sql"), "-- reverse: create \"users\" table\nDROP TABLE `users`;\n")
|
||||
require.FileExists(t, filepath.Join(p, migrate.HashFileName))
|
||||
require.NoError(t, d.WriteFile("tmp.sql", nil))
|
||||
|
||||
Reference in New Issue
Block a user