NodeJS 迁移到我自己的文件夹结构的Sequelize

h5qlskok  于 2023-04-20  发布在  Node.js
关注(0)|答案(2)|浏览(175)

我是Sequelize的新手,我目前的项目要求我使用它与迁移。我熟悉迁移他们做什么和如何做。我来自Django背景,每个子应用程序都有模态,视图,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

现在我的问题是,我不知道如何M使Sequelize-cli指向我的文件夹,并寻找迁移生成和运行。
Sequelize-cli为模型、配置、种子等生成了自己的文件夹,我不想跟随。
任何帮助都是感激的。

j91ykkif

j91ykkif1#

编辑:

更新后的结构,它是不可能使用.sequelizerc文件这样做,因为它不支持多个迁移文件夹.
您需要在项目根目录下创建.sequelizerc文件以覆盖默认路径。
如果我假设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配置路径。

aoyhnmkz

aoyhnmkz2#

基于问题[\https://github.com/sequelize/cli/issues/28] 1我们可以在model:generate命令中添加flag
(示例):npx sequelize-cli model:generate --name modelName --models-path .\some\ --attributes name:string
确保模型正确导入models/index.js文件

相关问题