내 nodejs/express 응용 프로그램에서 sqlite3 데이터베이스를 사용하고 있습니다. 익스프레스 서버를 시작할 때 .sql 파일을 sqlite로 가져 오려고합니다. node-sqlite3 패키지로 가져 오는 방법이 없기 때문에 exec 함수를 사용하여이 작업을 수행하려고합니다.nodejs exec를 통해 .sql 파일을 sqlite로 가져 오는 방법
내가 명령 줄에서 실행할 때 두 명령이 작동 :
고양이 db.sql | sqlite3를 mydb.db sqlite3를 mydb.db < db.sql
그러나, 나는 간부 기능의 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 서버는 IP에서 수신 : 로컬 호스트 포트 : 3000 표준 출력 : 표준 에러 :
는 DB 파일이 만들어집니다, 파일 크기는 0입니다. sqlite로 열면 mydb.db에 테이블이 없습니다.
위와 같이 두 가지 방법을 시도했지만 어느 것도 작동하지 않았습니다. 나는 또한 스폰을 사용하여 시도하고 그 중 하나도 성공하지 못했습니다. nodejs 내의 새로운 db에 sql 파일을 어떻게 가져올 수 있습니까?