我在我的nodejs/express應用程序中使用sqlite3數據庫。我想在啓動快速服務器時將.sql文件導入到sqlite中。由於似乎沒有使用node-sqlite3包進行導入的方法,因此我試圖使用exec函數執行此操作。如何通過nodejs將.sql文件導入到sqlite exec
,當我在命令行中運行它們這些命令的工作:
貓db.sql | sqlite3的mydb.db sqlite3的mydb.db < db.sql
然而,當我嘗試通過exec函數,創建mydb.db文件到的NodeJS運行下列命令之一,但它是空的。這裏是我的代碼:
var exec = require('child_process').exec;
child = exec('cat db.sql | sqlite3 mydb.db',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
);
當我開始我的Express服務器我沒有得到任何輸出: Express服務器監聽IP:本地主機端口:3000 標準輸出: 標準錯誤:
的數據庫文件被創建,但文件大小爲0.當我用sqlite打開它時,mydb.db中沒有表格
我嘗試了上面顯示的兩種方法,但它們都不起作用。我也嘗試使用產卵,並沒有取得任何成功,無論是。如何將sql文件導入到nodejs中的新數據庫?