irgendwie ist das zum mäusemelken:
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'a';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Christopher';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Christopher';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 'Jens';
generateOneUpdate
select:
select user_id, mitarbeiter_id from user, mitarbeiter where user.email = 'wyczisk@gmx.de' and mitarbeiter.name = 's';
test
[ { user_id: 1, mitarbeiter_id: 3 } ]
insert into user_mitarbeiter (user_id, mitarbeiter_id) select 1, 3 where not exists (select 1 from user_mitarbeiter where user_id = 1 and mitarbeiter_id = 3);
insert into mitarbeiter_skill (mitarbeiter_id, skill, subskill, nivau) select 3, 'b', 'c', '2' where not exists (select 1 from mitarbeiter_skill where mitarbeiter_id = 3 and skill = 'b' and subskill = 'c');
replace into mitarbeiter_skill (mitarbeiter_id, skill, subskill, nivau) select 3, 'b', 'c', '2' where exists (select 1 from mitarbeiter_skill where mitarbeiter_id = 3 and skill = 'b' and subskill = 'c');
events.js:141
throw er; // Unhandled 'error' event
^
Error: SQLITE_BUSY: database is locked
at Error (native)
code:
this.generateOneUpdate = function(email, data) {
var dbLokal = new sqlite3.Database(dbRef);
var statment = SQL_INSERT_MITARBEITER.replace(/\?name/g, "'" + data.name + "'");
dbLokal.run(statment);
console.log("generateOneUpdate");
statment = SQL_SELECT_USER_MITARBEITER_ID.replace(/\?email/g, "'" + email + "'");
statment = statment.replace(/\?name/g, "'" + data.name + "'");
console.log("select:");
console.log(statment);
dbLokal.all(statment, function(err, rows) {
console.log("test");
console.log(rows);
var user_id = rows[0].user_id;
var m_id = rows[0].mitarbeiter_id;
//callback(rows[lastIndex].user_id, rows[lastIndex].mitarbeiter_id, data);
var statmentLokal = SQL_INSERT_USER_MITARBEITER.replace(/\?user_id/g, user_id);
statmentLokal = statmentLokal.replace(/\?m_id/g, m_id);
console.log(statmentLokal + "\n");
dbLokal.run(statmentLokal);
statmentLokal = SQL_INSERT_SKILL.replace(/\?m_id/g, m_id);
statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
console.log(statmentLokal + "\n");
dbLokal.run(statmentLokal);
statmentLokal = SQL_REPLACE_SKILL.replace(/\?m_id/g, m_id);
statmentLokal = statmentLokal.replace(/\?skill/g, "'" + data.skill + "'");
statmentLokal = statmentLokal.replace(/\?subskill/g, "'" + data.subskill + "'");
statmentLokal = statmentLokal.replace(/\?nivau/g, "'" + data.nivau + "'");
console.log(statmentLokal + "\n");
dbLokal.run(statmentLokal);
});
dbLokal.close();
}