diff --git a/tools/goctl/goctl.go b/tools/goctl/goctl.go index 304387c7..6cc7869c 100644 --- a/tools/goctl/goctl.go +++ b/tools/goctl/goctl.go @@ -690,7 +690,7 @@ var commands = []cli.Command{ Flags: []cli.Flag{ cli.StringFlag{ Name: "url", - Usage: `the data source of database,like "postgres://root:password@127.0.0.1:54332/database?sslmode=disable"`, + Usage: `the data source of database,like "postgres://root:password@127.0.0.1:5432/database?sslmode=disable"`, }, cli.StringFlag{ Name: "table, t", diff --git a/tools/goctl/model/sql/model/postgresqlmodel.go b/tools/goctl/model/sql/model/postgresqlmodel.go index ad20ee49..16d8813f 100644 --- a/tools/goctl/model/sql/model/postgresqlmodel.go +++ b/tools/goctl/model/sql/model/postgresqlmodel.go @@ -120,9 +120,15 @@ func (m *PostgreSqlModel) getColumns(schema, table string, in []*PostgreColumn) isNullAble = "NO" } - extra := "auto_increment" - if e.IdentityIncrement.Int32 != 1 { - extra = "" + extra := "" + // when identity is true, the column is auto increment + if e.IdentityIncrement.Int32 == 1 { + extra = "auto_increment" + } + + // when type is serial, it's auto_increment. and the default value is tablename_columnname_seq + if strings.Contains(e.ColumnDefault.String, table+"_"+e.Field.String+"_seq") { + extra = "auto_increment" } if len(index[e.Field.String]) > 0 {