我需要在数据库表中创建一个新字段。然后我运行以下内容:
*-jar-with-dependencies.jar
一个名为
的新文件sequelize migration:create
已创建。
我打开该文件并将其写入up-function:
DATETIME_unnamed-migration.js
然后我跑
queryInterface.addColumn(
'User',
'postcode',
Sequelize.STRING
)
表格用户现在有了一个名为" postcode"。
的新字段那么现在呢?我有一个名为
的文件sequelize db:migrate
下次我需要添加新字段时,该怎么办? 如果我尝试修改上面的文件然后再次运行db:migrate则没有任何反应。 在控制台上我看到:
DATETIME_unnamed-migration.js
所以sequelize-cli并不关心我的旧迁移文件是否有变化? 每次需要在数据库模式中添加新内容时,是否需要创建新的迁移文件? 然后过了一段时间,带有迁移文件的目录就会满了。 这是普通的做法还是我想要的东西?
答案 0 :(得分:2)
通过迁移,您可以将现有数据库转移到另一个数据库 状态,反之亦然:这些状态转换在迁移中保存 文件,描述了如何进入新状态以及如何进入的状态 恢复更改以恢复旧状态。
我认为迁移文件的想法是跟踪数据库模式的更改和更新。因此,每次要更新数据库模式时,都必须创建一个新的迁移文件。