我是Sequelize
的新手,我当前的项目要求我在迁移中使用它。我熟悉迁移的作用和方式。
我来自Django
背景,其中每个子应用程序在同一文件夹中都有模式, View ,API,URL和迁移。我喜欢这种结构,并希望在我的nodejs应用程序中保持相同。我正在尝试将一项功能放在一个地方。这对我来说更有意义。
我的结构
|---api
|---user
| |--- api.js
| |--- utils.js
| |--- models.js
| |--- index.js
| |--- migrations
| |--- xxx123-migration.js
| |--- xxx1235-migration.js
|---payment
|--- api.js
|--- utils.js
|--- models.js
|--- index.js
|--- migrations
|--- xxx123-migration.js
|--- xxx1235-migration.js
现在我的问题是我不知道如何使
Sequelize-cli
指向我的文件夹,并寻找要生成和运行的迁移。Sequelize-cli
为模型,配置,种子等生成自己的文件夹,我不想关注。任何帮助表示赞赏。
最佳答案
编辑:
更新结构后,无法使用.sequelizerc文件执行此操作,因为它不支持多个迁移文件夹。
您需要在项目根目录下创建.sequelizerc
文件,以覆盖默认路径。见here
如果我假设api
是文件夹结构中项目根目录内的第一个文件夹,则模型位于api/user
中,而迁移位于api/user/migrations
中。以下应该工作:
const path = require('path');
module.exports = {
'config': path.resolve('CONFIGPATHHERE', 'sequelize.js'),
'models-path': path.resolve('api/user', 'sequelize'),
'migrations-path': path.resolve('api/user', 'migrations')
}
确保指定sequelize配置路径。