建立模型后,可以使迁移过程

时间:2018-06-28 13:11:27

标签: node.js amazon-web-services sequelize.js

我正在寻找一种方法来创建迁移,并从github上获取应用程序中已经存在的模型来创建数据库。我正在使用AWS,因此我需要在应用程序构建上运行migrations build命令并将其与AWS RDS连接。到目前为止,我所做的就是-创建了具有以下内容的.sequelizerc

const path = require('path');

module.exports = {
  'config': path.resolve('lib', './app.database.js'),
  'models-path': path.resolve('lib', './models'),
  'seeders-path': path.resolve('lib', './seeders'),
  'migrations-path': path.resolve('lib', './migrations')
}

并以以下结构将所有模型存储在/lib/models/文件夹中

module.exports = (sequelize, DataTypes) => {
const Init = sequelize.define('Init', {
    id: {
        type: DataTypes.INTEGER,
        primaryKey: true,
        autoIncrement: true,
    },
    name: DataTypes.STRING,
    version: DataTypes.STRING,
}, {
    tableName: 'oc_init',
    timestamps: false
});

return Init;
};

需要提及的是,某些模型本身已经具有原型,并使用了其他库,例如bcrypt等。

因此,在构建应用后,我试图运行node_modules/.bin/sequelize db:migrate并出现以下错误

  

未执行任何迁移,数据库架构已经是最新的。

但是当我检查远程数据库(amazon RDS)时,我只能看到创建的SequelizeMeta表。我做错了什么?如何在本地计算机上创建迁移,以便可以在AWS上迁移数据?

1 个答案:

答案 0 :(得分:1)

解决方案是自己描述每个模型的内容并运行sequelize db:migrate。似乎没有方法可以从已经创建的模型中创建迁移文件。