我只是想知道是否有人与xo合作过。我有一个Postgres DB,里面有一堆桌子和东西。
我似乎无法使用struct
从postgres表结构生成DTO xo
。
这个内置的xo
template似乎创建了一个struct
,我相信xo
默认使用内置模板,但是我在运行时得到的一切< / p>
xo --verbose --suffix '.go' pgsql://myusername:mypass@localhost:myport/mydb?sslmode=disable -o internal/qo/models -p qo
答案 0 :(得分:0)
因此,根据我发现的情况,xo
程序包的postgreSQL loader使用“ public”作为默认架构,在我的数据库中,名为“ public”的架构仅包含名为{{ 1}}和许多存储过程,从而产生了上面一组适当生成的代码。
使用schema_migrations
(其中--schema <correct_schema_name>
是将为其生成dto结构的模式)时,会生成正确的代码。
因此,正确的命令是:
<correct_schema_name>
gen.sh文件中还有一些设置也必须更改,例如类型信息(特别是默认值),以便生成具有正确字段类型的结构。
例如,时间戳的默认类型为xo --verbose --schema <correct_schema_name> --suffix '.go' pgsql://myusername:mypass@localhost:myport/mydb?sslmode=disable -o internal/qo/models -p qo
(pq是PostgreSQL的Golang驱动程序),并且将在pq.NullTime
文件中进行更改以设置适当的时间戳。默认类型。