summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go')
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go10
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 {