Mysql 使用PostgreSQL和isGenerated时TypeORM迁移语法错误
我正在尝试修改一个已经在MySQL上完美运行的TypeOrm迁移脚本,以使用PostgreSQL。Mysql 使用PostgreSQL和isGenerated时TypeORM迁移语法错误,mysql,typescript,postgresql,typeorm,Mysql,Typescript,Postgresql,Typeorm,我正在尝试修改一个已经在MySQL上完美运行的TypeOrm迁移脚本,以使用PostgreSQL。 我在创建表时遇到了一些问题,生成了一列: { name: 'id', type: 'varchar', isPrimary: true, isGenerated: true, generationStrategy: 'uuid', } 不知道为什么,但我得到了以下语法(我省略了工作部分): 创建表“我的表名”(“id”非空默认uuid\U生成\U v4(),“约束”主键(“i
我在创建表时遇到了一些问题,生成了一列:
{
name: 'id',
type: 'varchar',
isPrimary: true,
isGenerated: true,
generationStrategy: 'uuid',
}
不知道为什么,但我得到了以下语法(我省略了工作部分):
创建表“我的表名”(“id”非空默认uuid\U生成\U v4(),“约束”主键(“id”))
迁移引发了以下错误:错误:语法错误位于或接近“NOT”
,我将其缩小为“id”
和NOT
之间没有类型声明的明显问题
如果我从配置中删除isGenerated
,则会出现类型,并且一切正常,但没有deafult uuid\u generate\u v4
部分
我不确定是什么问题,我很感谢你的帮助
Thnx 当我们使用MYSQL时,我们需要知道它不存在
不为NULL
,存在不为NULL
。
因此,您的代码将是
创建表“我的表名”(“id”不是空的默认uuid\u生成v4(),.CONSTRAINT”主键(“id”)
.当我们使用MYSQL时,我们需要知道它不存在
不为NULL
,存在不为NULL
。
因此,您的代码将是
创建表“我的表名”(“id”不是空的默认uuid\u生成v4(),.CONSTRAINT”主键(“id”)
.您的id类型必须为“uuid”以匹配生成策略,如下所示:
{
name: 'id',
type: 'uuid',
isPrimary: true,
isGenerated: true,
generationStrategy: 'uuid',
}
您的id类型必须为“uuid”以匹配生成策略,如下所示:
{
name: 'id',
type: 'uuid',
isPrimary: true,
isGenerated: true,
generationStrategy: 'uuid',
}
迁移“SQL”是由Typeorm生成的。问题不在于Mysql,而在于PostgreSql。你能发布你的迁移吗?迁移“SQL”是由Typeorm生成的。问题不在于Mysql,而在于PostgreSql。您可以发布迁移吗?