gpt4 book ai didi

javascript - 同步 Sequelize 模型 : sequelize. import() 不是函数(并且已弃用)

转载 作者:行者123 更新时间:2023-12-03 22:17:47 25 4
gpt4 key购买 nike

我正在尝试通过 Sequelize.js ORM 使用 sqlite3 初始化数据库。我已经定义了我的三个模型(让我们称它们为 model1model2model3 ,现在我正在处理一个 js 文件,它将初始化和同步我的数据库。dbInit.js 看起来像这样:

const Sequelize = require('../node_modules/sequelize');

const sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'sqlite',
logging: false,
storage: 'database.sqlite',
});

// importing the modules
// import() is deprecated and will throw an error!
sequelize.import('models/model1');
sequelize.import('models/model2');
sequelize.import('models/model3');

// if force == true this will create the table, dropping it first if it already existed.
const force = process.argv.includes('--force') || process.argv.includes('-f');

// sync the database
sequelize.sync({ force }).then(async() => {
console.log('dbInit.js: Database synced');
sequelize.close();
}).catch(console.error);
当我运行这个文件时,我观察到以下错误: TypeError: sequelize.import is not a function 。这个错误很清楚,import不是函数!这让我在 Sequelize 文档中发现了 this page,其中说明了以下内容:

Deprecated: sequelize.import

Note: You should not use sequelize.import. Please just use require instead.


考虑到这一点,这里是我的主要问题:
1:如何告诉 Sequelize 在初始化期间将哪些模型包含在我的数据库中?
文档很清楚,我应该“只使用 require”。但是文档没有提供新约定的明确示例。
2:如何正确使用 require 来包含模型?
我很难找到一个例子来说明它是如何工作的。我是 JS 新手,所以这可能非常明显,因此缺少示例。我想我们可以做类似 const model1 = require(path/to/model1); 的事情,然后我可以把它插入同步函数吗?

最佳答案

在这里,您可以像这样导入模型。

const models = require('./models'); //path of models folder
const ModelA = models.model1;
const ModelB = models.model2;
const ModelC = models.model3;
//Sequelize v5现在你不必导入 Sequelize 因为 models 文件夹有 index.js这将为您建立联系。
用于使用 Sequelize 方法。只需像这样添加 模型
models.sequelize.sync({ force }).then(async() => {
console.log('dbInit.js: Database synced');
sequelize.close();
}).catch(console.error);

关于javascript - 同步 Sequelize 模型 : sequelize. import() 不是函数(并且已弃用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62940810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com