gpt4 book ai didi

mysql - 使用 sequelize 在 Nodejs 中自动创建模式

转载 作者:行者123 更新时间:2023-11-29 03:15:55 26 4
gpt4 key购买 nike

我有一个 React+Node 应用程序。我正在使用 sequelize 来创建表。我希望 sequelize 在 mysql 中自动创建 schema(不是表,如果表不存在则自动创建表) 并用一组特定的数据填充其中一个表。

const Sequelize = require('sequelize');
const sequelize = new Sequelize('myschema','username','pass',{
dialect:'mysql',
host:'localhost'
});

module.exports = sequelize;

表是自动创建的,但我想在运行应用程序后自动创建模式 - 'myschema'(以避免在生产中手动创建模式)。

router.post('/somepath',(req,res,next)=>{
const
pathname=path.join(__dirname,'../','somefile.xlsx');
let workbook=xlsx.readFile(pathname);
var sheet_name_list = workbook.SheetNames;
var data = xlsx.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);//This is an array of json objects

//updating the database.

});

我想在启动时用来自 json 对象数组的数据填充配置文件表如果还没有

最佳答案

您可以使用 sequelize-auto npm 。从数据库生成模式和模型很有帮助。

  • 在使用 sequelize-auto 之前,您需要全局安装正确的方言绑定(bind)。在你的情况下会是
npm install -g mysql
  • 运行以下命令
sequelize-auto -h <host> -d <database> -u <user> -x [password] -p [port]  --dialect [dialect] -o [/path/to/models] -t [tableName]

如果你想为所有表生成然后跳过最后一部分即 -t [tableName] 标志有关详细信息,请参阅 NPM 的文档。

关于mysql - 使用 sequelize 在 Nodejs 中自动创建模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625244/

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