在prisma中进行迁移时如何防止数据丢失

问题描述 投票:0回答:2

我有一个用户的模式:姓名、年龄等...

用户在生产中注册,

然后我决定还想捕获“电子邮件”并将其保存在用户表中。

但是由于之前的记录没有收到电子邮件,prisma 会要求我重置数据库

在 prisma.js 中迁移时是否有任何措施可以防止此数据库重置

sql prisma
2个回答
1
投票

解决方法可能是手动将新字段添加到数据库中,然后内省数据库,这意味着在 prisma 模式中提取数据库结构。在表中添加字段后,运行

npx prisma db pull
。 这应该会更新您的 Prisma 架构文件。您可能还需要使用
npx prisma generate
重新生成 prisma 客户端。

另请查看这里这里


0
投票

进入您的架构并进行更改:

NormalizedName 字符串 @unique @db.VarChar(64) 规范化名称字符串? @unique @db.VarChar(64)

然后创建草稿迁移:

$ npx prisma migrate dev --name 迁移名称 --create-only

然后在 SQL 中编辑迁移(这允许空值,即可选)

ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL;

或 Postgres

ALTER TABLE myTable ALTER COLUMN myColumn DROP NOT NULL;

然后应用修改后的SQL:

$ npx prisma 迁移开发

我希望这对你有用:)

© www.soinside.com 2019 - 2024. All rights reserved.