Sto sviluppando un programma desktop javascript (Node.js) che funziona con un database MySQL esistente. Vorrei (eventualmente) distribuire ad altri con SQLite, o MySQL se ne hanno bisogno (o forse qualche altro database).
Qual è una buona strategia per scrivere il codice agnostico del database? Sto cuocendo in switch come lo pseudo-codice qui sotto, ma penso che ci sia un modo migliore per risolvere questo problema:
result = query1();
function query1(){
DbType = getDbType(); // Returns MySQL or SQLite
if DbType == 'MySQL'{
query = ""; // MySQL Query
result = mysqlconnector.doquery(query);
}else{
if DbType == 'SQLite'{
query = ""; // SQLite Query
result = sqliteconnector.doquery(query);
}
return result;
}
Non penso di volere un ORM a tutto campo, dato che sembrano fastidiosamente restrittivi.