NodeJS TypeORM Postgres迁移使用序列而不是自动增量

p1iqtdky  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(112)

我有一个列“代码”,这不是PK,将从1000开始,并增加10。我在数据库中创建了一个序列"code_seq",如下所示:

CREATE SEQUENCE public.code_seq
    INCREMENT 10
    START 1000
    MINVALUE 1000
    MAXVALUE 9999999999
    CACHE 1;

我想设置为默认值,如:

CREATE TABLE trouble(
id INTEGER, 
code DEFAULT NEXTVAL('public.code_seq'),

如何使用typeorm迁移实现这一点?

xriantvc

xriantvc1#

我也遇到过同样的问题,找不到任何地方可以做到这一点。最后我找到了一个适合我的方法。
以下是最终为我的案例工作的解决方案。试试这个,看看它是否适合你:

@Column({
    generated: 'increment', // required to tell typeorm to use sequence/
    default: () => `nextval('code_seq'::regclass)`, // required to tell typeorm we want a function default instead of string.
})
code: number;

相关问题