diff options
Diffstat (limited to 'vendor/github.com/uptrace/bun/query_table_create.go')
-rw-r--r-- | vendor/github.com/uptrace/bun/query_table_create.go | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/vendor/github.com/uptrace/bun/query_table_create.go b/vendor/github.com/uptrace/bun/query_table_create.go index 4aad10070..c795e8a97 100644 --- a/vendor/github.com/uptrace/bun/query_table_create.go +++ b/vendor/github.com/uptrace/bun/query_table_create.go @@ -105,13 +105,16 @@ func (q *CreateTableQuery) TableSpace(tablespace string) *CreateTableQuery { func (q *CreateTableQuery) WithForeignKeys() *CreateTableQuery { for _, relation := range q.tableModel.Table().Relations { if relation.Type == schema.ManyToManyRelation || - relation.Type == schema.HasManyRelation { + relation.Type == schema.HasManyRelation { continue - } - q = q.ForeignKey("(?) REFERENCES ? (?)", + } + + q = q.ForeignKey("(?) REFERENCES ? (?) ? ?", Safe(appendColumns(nil, "", relation.BaseFields)), relation.JoinTable.SQLName, Safe(appendColumns(nil, "", relation.JoinFields)), + Safe(relation.OnUpdate), + Safe(relation.OnDelete), ) } return q @@ -165,6 +168,11 @@ func (q *CreateTableQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []by b = append(b, " IDENTITY"...) } } + if field.Identity { + if fmter.Dialect().Features().Has(feature.GeneratedIdentity) { + b = append(b, " GENERATED BY DEFAULT AS IDENTITY"...) + } + } if field.SQLDefault != "" { b = append(b, " DEFAULT "...) b = append(b, field.SQLDefault...) |