В настоящее время я занимаюсь разработкой мобильного приложения с ионным интерфейсом.В этом приложении есть локальная база данных sqlite.
Я ищу возможность выполнять запросы из файлов на предмет возможных обновлений базы данных.
Например, при первой установке приложениятаблицы создаются, если они не существуют.Если в эти таблицы вносятся изменения после установки приложения, они не учитываются.
Я хотел бы создать файлы, которые могут выполняться по одному в соответствии с PRAGMA user_version.
Что-то вроде:
// Get pragma user version, if it's undefined, it's set to 1.
// If user_version < 1, we execute the sql file, then we update the user_version
// to 1.
db.executeSql(`PRAGMA user_version;`, []).then((res)=> {
if(res.rows.item(0).user_version < 1) {
db.sqlBatch(`app/sqlFiles/1.sql`, []).then((res)=>{
console.log(res);
}, (err) => {
console.log("Error : " + JSON.stringify(err));
});
db.executeSql(`PRAGMA user_version = 1;`, []).then((res)=>{
console.log(res);
}, (err) => {
console.log("Error : " + JSON.stringify(err));
});
}
}, (err) => {
console.log("Error : " + JSON.stringify(err));
});
Я думал об использовании программы чтения файлов, но файл не найден во время выполнения функции.
this.fileOpener.open('assets/SQLFile/1.sql', 'text/plain')
.then((file) => {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("read success");
console.log(evt.target);
};
db.sqlBatch(reader.readAsText(file)).then((res)=>{
console.log(res);
}, (err) => {
console.log("Error : " + JSON.stringify(err));
});
console.log('File is opened');
})
.catch(e => console.log('Error opening file', e));
У кого-нибудь будет идея сделать этот видвещи?(Я ищу решение, которое учитывает передовые методы программирования).
Обратите внимание, что я новичок в ионных и sqlite Заранее спасибо!