我是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配置路径。

09-10 10:43
查看更多