我正在尋找一種有效的方法來獲取原始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_不能與'插入表值(';');' –