Я получаю сообщение об ошибке при попытке чтения из предварительно заполненной базы данных SQLite: sqlite3_prepare_v2 failure: no such table 'plant'
Из того, что я понимаю, SQLite ищет файл mydb.db в папке / www по умолчанию, а затем создает пустую базу данных, когда не находит предварительно заполненный файл mydb.db. Вот почему он не может найти таблицу «завод», потому что вновь созданная пустая база данных, очевидно, не содержит таблицу «завод». Однако я могу подтвердить, что база данных - это в папке / www и что она содержит таблицу 'plant', когда я запускаю sqlite3 mydb.db
затем .tables
в терминале.
Я не могу понять, почему он не читает из предварительно заполненного файла mydb.db.
Структура папок (из корня):
/src
-/app
--/app.component.ts
/www
-/mydb.db
app.component.ts
constructor(public platform: Platform, private sqlite: SQLite ) {
platform.ready().then(() => {
this.getData();
});
}
getData() {
this.sqlite.create({
name: 'mydb.db',
location: 'default'
}).then((db: SQLiteObject) => {
db.executeSql('SELECT * FROM plant ORDER BY id ASC', [])
.then(res => {
// Do Stuff
}).catch(e => console.log("FAIL executeSql:", e));
})
}
Я предпринял множество исправлений, обнаруженных в StackOverflow, таких как стирание приложения с моего устройства, запуск нового ионного проекта, копирование файлов приложения и конфигурации и установка прямого пути в расположении базы данных, но это все еще пытается прочитать из пустой базы данных, которую он создает.