使用felixge / node-mysql正确执行SQL导出的内容

时间:2014-02-05 06:39:13

标签: mysql node.js node-mysql

我已经从MySQL Workbench创建了一个sql数据库(所有表和视图)的导出。删除数据库drop / create行后,我可以通过SQL引擎运行导出文件的内容,一遍又一遍地重新创建表和视图。

但是当我尝试通过felixge / node-mysql填充文件的内容时,我得到了语法错误。

是否有使用node-mysql处理此模式的标准方法?

附件是SQL文件的全部内容,我试图让node-mysql在数据库上执行。无论数据库是空的还是已经有表格,它都会失败。

SQL文件: http://pastebin.com/YjuDbyEK

NODE CODE:

var db = new mysql.createConnection({
    host : 'localhost',
    user : 'root',
    password : 'admin',
    database : 'nps',
    multipleStatements : true
});

//Check for the SQL upgrade file and stuff the contents through node-mysql
fs.exists(setting.NPS_loadFile, function(exists) {
    if(exists){
        fs.readFile(setting.NPS_loadFile, 'utf-8', function(err, sql) {
            if (err) {
                console.log("Couldn't read " + setting.NPS_loadFile, red(err));
            }
            else {
                db.connect();
                db.query(sql,function(e,r){
                    if(e == null){
                        console.log(cyan('Database structure upgraded.'));
                    }else{
                        sendError(ws,"<h1>SQL Error during upgrade</h1>"+e,e);
                    }
                });
            }
        });
    }else{
        console.log("Couldn't read " + setting.NPS_loadFile, red(err));
    }
});

1 个答案:

答案 0 :(得分:0)

解决。我们在正在执行的文件中犯了一个错误。抱歉花时间。