我正在寻找一个用于在 node.js 应用程序中迁移的好模块。我正在使用 sequelize 作为 ORM。我找到了一些解决方案,例如在 sequelize 本身中进行迁移,但我找不到足够的示例来添加列(更改模式)或将条目添加到表中。
有人可以提供一个好的模块,其中包含一些好的完整示例以及用于更改架构和添加现有条目的示例吗?
我的应用程序托管在 heroku 上,您能否也强调一下如何在 heroku 上使用它?
谢谢
最佳答案
如果您在应用程序中使用 sequelize,则可以而且应该使用 sequelize 进行迁移。该库有很好的处理迁移的文档。
在使用 sequelize 添加列方面,您首先通过命令行创建一个迁移。运行 sequelize -c 迁移名称
。示例可以是:sequelize -c add_location_to_users
。
运行此命令后,您将在根目录 migrations 文件夹中找到一个迁移文件。那就是您描述迁移应该在数据库中更改的地方。为了与示例保持一致,这里有一个示例方法。
migration.addColumn(
'Users',
'Location',
DataTypes.STRING
)
运行此迁移会将数据类型为字符串的“位置”列添加到“用户”表。
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
})
然后您可以在 success() 的回调中访问用户(数据库中创建的条目),我在上面打印了新用户的位置。文档的实例部分是您可以找到处理类实例(或“数据库中的条目”)的其他方法的地方。
关于database - nodejs数据库迁移模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623948/