kpiplus
Version:
KPI+
1 lines • 942 B
JavaScript
var sql=require("mssql"),underscore=require("underscore"),sqlconfig=require("../configs").sqlconfig,request=function(e,r){var n={};underscore.extend(n,sqlconfig),n.database=e;var t=new sql.Connection(n,function(e){if(e)return r(e);var n=new sql.Request(t);r(null,n,t)})};exports.request=request,exports.restoreDB=function(e,r,n){request("master",function(t,s,u){if(t)return r(t);n||(n={});var i=n.backupFile,o=n.databaseDir;if(i||(i=sqlconfig.backupFile),o||(o=sqlconfig.databaseDir),!i||!o)return r("Không thể restore database. Kiểm tra lại file configs");var a="RESTORE DATABASE "+e+" FROM DISK = N'"+i+"' WITH FILE = 1, MOVE N'New_app_Data' TO N'"+(o+=e)+".mdf', MOVE N'New_app_Log' TO N'"+o+"_1.ldf', NOUNLOAD, STATS = 10";s.batch(a,function(n,t){if(u.close(),n)return r(n);r(null,e)})})},exports.query=function(e,r,n){request(e,function(e,t,s){if(e)return n(e);t.query(r,function(e,r){return s.close(),e?n(e):n(null,r)})})};