首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >节点js的模式和数据迁移

节点js的模式和数据迁移
EN

Stack Overflow用户
提问于 2015-09-09 06:40:54
回答 4查看 11.8K关注 0票数 9

除了Node之外,还有类似Django South的工具吗?

现在我在处理后遗症。如果我做对了,Sequelize没有基于现有模型创建迁移文件的选项。因此,要创建一个新的模型/表,步骤如下:

  • 使用sequelize model:create <model meta>创建模型。
  • 编辑生成的迁移文件-在up部分下添加用于在DB中创建表的实际代码。
  • 使用sequelize db:migrate运行迁移。

我正在寻找能够基于现有模型创建迁移文件的东西,管理它类似于South可以为Django所做的事情。

有什么选择吗?

EN

回答 4

Stack Overflow用户

发布于 2019-07-26 04:59:22

我写了一个关于如何在另一篇文章中自动创建带有后缀的迁移的逐步指南。。这是一个总结..。

与后缀最接近的是自动移动续写

它允许您有如下迭代周期:

  1. 创建/更新模型--手工创建或使用sequelize-cli)
  2. 运行makemigrations以自动生成updown迁移
  3. 必要时重复

虽然这是非常有用的,但我发现在一些关键领域缺乏:

  1. 向下迁移可能被错误地创建。因此,它可能会在其依赖表被删除之前尝试删除一个表。
  2. 对于多字段索引,有某些配置没有正确输出.

现时有10名未获批准的个人资料,所以似乎有一些额外的贡献者试图使它更好的生产准备.但是我还没有找到像Django Migrations (以前的Django South)那样干净可靠的东西。

票数 3
EN

Stack Overflow用户

发布于 2020-02-15 14:20:31

TypeORM支持基于模型的迁移。它可以直接将数据库同步到您的模型,也可以创建迁移文件。

我认为prisma是另一种选择。它看上去不那么受欢迎,但很有希望。

不管是哪种方式,没有可靠的工具来解决这个问题,实在是太荒谬了。我在过去几年中从事过django和.net项目,创建迁移非常容易。但是,当您尝试使用node.js作为后端时,您会遇到很多问题。

当我看到没有官方的方法从模型中创建自动迁移时,我已经放弃使用它了。在我的经验中,用手动编写的迁移来维护您的模型变得非常困难。

现在,我唯一的选择是TypeORM,它只是困扰我,没有其他选择,以防TypeORM无法维护,或者如果我想使用另一个库等等。

我正在认真考虑使用node.js作为后端。然而,有很好的工具来创建与现代前端工具(如Next.js)集成的项目,找到一个好的orm是一个大问题。

票数 1
EN

Stack Overflow用户

发布于 2020-02-13 14:44:47

看看https://typeorm.io/#/migrations/generating-migrations。我和你四年前的情况一样。

我的选择:

  • 仅供ORM和diff工具(如dbdiff)创建一个与新模式不同的文件(通过使用“drop”的水平线迁移生成)与生产模式不同。有了这个输出,您就可以在安全模式下按查询运行查询。
  • Prev选项加knex迁移。但你必须创建自己的迁移文件。Knex没有模式文件可供比较,但是有一个请求特性https://github.com/knex/knex/issues/1086
    • 使用风帆,但换一条水线进行排序,并尝试使用@paulmest的答案。
    • 使用风帆,但改变输水线的打字机,使用自动生成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32472539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档