如何解决排序运行脚本文件
我有一个项目正在使用Sequelize管理一组MySQL数据库。到目前为止,我已经能够运行简单的查询来创建新的数据库,将参数插入表中并选择数据...但是,我有一个非常长的.sql文件(+1,700行),当执行该文件时,它将建立一个具有特定架构(即表,视图等)的数据库。问题是我无法弄清楚如何使用sequelize执行这样的脚本。我知道脚本可以在新数据库上运行,因为我可以从MySQL Workbench执行sql文件,但是我不知道如何使用sequelize从javascript文件执行脚本。我搜索过论坛,但似乎也找不到任何资源。能做到吗?
解决方法
您可以使用 Sequelize
通过sequelize.query(sql_string)
运行原始查询
并且您可以使用fs
或fs-extra
来读取sql文件;
请记住,您需要设置多行语句选项true
才能运行此sql文本:
var sql_string = fs.readFileSync('path to file','utf8');
const sequelize = new Sequelize('database','username','password',{
host: 'localhost',dialect: /* one of 'mysql' | 'mariadb' | 'postgres' | 'mssql' */,dialectOptions: {
multipleStatements: true
}
});
sequelize.query(sql_string);
编辑1:
要更好地理解Sequelize类,请查看this
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。