我正在寻找一种有效的方法来获取原始sql文件,并使其同步执行postgres数据库,类似于如果您通过psql
运行它。在node.js中导入sql文件并针对PostgreSQL执行
我有一个sql文件,它创建所有数据库,导入数据等我需要执行此使用node.js,但无法找到任何模块,这会自动执行此操作。对于node.js应用程序本身,我们使用node-postgres('pg'),knex.js和bookshelf.js。我认为,尽管这是最好的。
我能想到的另一种方法是读取完整文件,用分号分隔它,用空格替换换行符,修剪任何重复的空格,然后以顺序执行的方式将它们逐个馈送到pg中,不是异步的。如果这真的是最有效的方式,并且如果还没有图书馆可以解决这个问题,我有点惊讶。我有点犹豫是否可以进入它,因为SQL语法本身可能有点难度,我可能会意外地将它混淆起来。
提前一些澄清:
psql
不能使用,因为它不是在目标机器- 我选择了开发和源代码控制在SQL天然形式的SQL语句上安装,因为这是一个很大DBA更容易使用和操作它
它比你首先想到的更难因为您需要区分SQL中的关键字和关键字。作为一个简单的例子,_split by semicolons_不能与'插入表值(';');' –