nodejs 数据库迁移模块

use*_*726 4 database migration node.js

我正在寻找一个用于在 node.js 应用程序中进行迁移的好模块。我使用 sequelize 作为 ORM。我找到了几个解决方案,例如在 sequelize 中迁移,但我找不到足够的示例来添加列(更改架构)或将条目添加到表中。

有人可以给出一个很好的模块,其中包含一些很好的完整示例以及更改模式和添加现有输入吗?

我的应用程序托管在 heroku 上,所以您能否也强调一下如何在 heroku 上使用它?

谢谢

小智 5

如果您在应用程序中使用 sequelize,则可以并且应该使用 sequelize 进行迁移。该库有很好的文档来处理迁移。

在使用 sequelize 添加列方面,您首先通过命令行创建迁移。运行sequelize -c migration-name。一个例子可以是:sequelize -c add_location_to_users

运行此命令后,您将在根目录迁移文件夹中找到一个迁移文件。您可以在此处描述迁移应在数据库中更改的内容。为了与示例保持一致,这里有一个示例方法。

migration.addColumn(
  'Users',
  'Location',
  DataTypes.STRING
)
Run Code Online (Sandbox Code Playgroud)

运行此迁移会将具有数据类型字符串的列“位置”添加到“用户”表中。

http://sequelizejs.com/docs/latest/migrations#functions此链接将带您访问 sequelize 可用的其他功能,包括更改列、重命名列、重命名表等。

在向表中添加条目方面,sequelize 为您提供了在模型上运行 create 或 findOrCreate 的选项。这是用户表的示例。

User.create({ name: 'foo', email: 'bar', location: 'New York' }).success(function(user) {
    console.log(user.location); //this prints the users location
})
Run Code Online (Sandbox Code Playgroud)

然后,您可以在 success() 的回调中访问用户(在数据库中创建的条目),我在上面打印了新用户的位置。文档的实例部分是您可以找到处理类实例(或“数据库条目”)的其他方法的地方。