Database nodejs数据库迁移模块

Database nodejs数据库迁移模块,database,node.js,migration,Database,Node.js,Migration,我正在node.js应用程序中寻找一个好的迁移模块。我使用sequelize作为ORM。我已经找到了一些解决方案,比如sequelize本身的迁移,但我找不到足够的例子来添加列(更改模式)或向表中添加条目 是否有人能给出一个好的模块,其中包含一些好的完整示例,用于修改模式以及添加现有条目 我的应用程序是在heroku上托管的,所以请您也强调一下如何在heroku上使用它 谢谢如果您在应用程序中使用sequelize,您可以而且应该在迁移中使用sequelize。该库有大量用于处理迁移的文档 在使

我正在node.js应用程序中寻找一个好的迁移模块。我使用sequelize作为ORM。我已经找到了一些解决方案,比如sequelize本身的迁移,但我找不到足够的例子来添加列(更改模式)或向表中添加条目

是否有人能给出一个好的模块,其中包含一些好的完整示例,用于修改模式以及添加现有条目

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


谢谢

如果您在应用程序中使用sequelize,您可以而且应该在迁移中使用sequelize。该库有大量用于处理迁移的文档

在使用sequelize添加列方面,首先通过命令行创建迁移。运行
sequelize-c迁移名称
。例如:
sequelize-c将位置添加到用户

运行此命令后,您将在根目录migrations文件夹中找到一个迁移文件。这就是您描述迁移应该在数据库中更改什么的地方。为了与示例保持一致,下面是一个示例方法

migration.addColumn(
  'Users',
  'Location',
  DataTypes.STRING
)
运行此迁移将向“用户”表中添加带有数据类型字符串的列“Location”

此链接将带您访问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()中的回调中访问user(数据库中创建的条目),我在这里打印了上面的新用户位置。在文档的实例部分,您可以找到处理类实例(或“数据库中的条目”)的其他方法。

如果您正在寻找一个完整的框架,Node on Fire包含一个非常好的迁移模块。看一看

包含一些模型和迁移。更改任何模型并运行
fire build
只需生成任何新的迁移
fire release
将把迁移应用于数据库

Node on Fire的设计遵循12因素方法,这使得使用Node on Fire编写的应用程序成为部署在Heroku上的完美候选


另外,我是Node on Fire的主要贡献者,所以这个答案可能有失偏颇。

非常感谢您提供的详细答案,它确实帮助了我