我正在寻找一种方法来创建迁移,并从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上迁移数据?
答案 0 :(得分:1)
解决方案是自己描述每个模型的内容并运行sequelize db:migrate
。似乎没有方法可以从已经创建的模型中创建迁移文件。