diff options
Diffstat (limited to 'vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go')
| -rw-r--r-- | vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go index 852132b7f..d524f0a1a 100644 --- a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go +++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go @@ -46,7 +46,8 @@ func New() *Dialect { feature.TableTruncate | feature.TableNotExists | feature.InsertOnConflict | - feature.SelectExists + feature.SelectExists | + feature.GeneratedIdentity return d } @@ -73,7 +74,7 @@ func (d *Dialect) OnTable(table *schema.Table) { func (d *Dialect) onField(field *schema.Field) { field.DiscoveredSQLType = fieldSQLType(field) - if field.AutoIncrement { + if field.AutoIncrement && !field.Identity { switch field.DiscoveredSQLType { case sqltype.SmallInt: field.CreateTableSQLType = pgTypeSmallSerial @@ -88,6 +89,11 @@ func (d *Dialect) onField(field *schema.Field) { field.Append = d.arrayAppender(field.StructField.Type) field.Scan = arrayScanner(field.StructField.Type) } + + if field.DiscoveredSQLType == sqltype.HSTORE { + field.Append = d.hstoreAppender(field.StructField.Type) + field.Scan = hstoreScanner(field.StructField.Type) + } } func (d *Dialect) IdentQuote() byte { |
