Можно ли предварительно загрузить / предварительно заполнить базу данных в моем приложении React Native, а затем при первом запуске просто выполнить синхронизацию? У меня уже есть большая часть, если не вся информация о базе данных до распространения приложения, было бы здорово, если бы ему просто нужно было выполнить быструю синхронизацию при запуске приложения. Есть идеи, как мне это сделать?
Я нашел это - https://pouchdb.com/2016/04/28/prebuilt-databases-with-pouchdb.html, но там не упоминается React Native
Использование:
- pouchdb-find: ^ 7.0.0
- pouchdb-реакция-native: ^ 6.4.1
- Реакция: 16.3.1
- Реактивный момент: ^ 0,7,9
- Реактивный: ~ 0,55,2
Спасибо за любые указатели.
Обновление Вот код, который я использую, чтобы попытаться загрузить файл дампа. Этот код существует в /screens/Home.js
Файл дампа находится в /client/dbfile/database.txt
var db = new PouchDB("cs1");
db.get("_local/initial_load_complete")
.catch(function(err) {
console.log("loading dumpfile");
if (err.status !== 404) {
// 404 means not found
throw err;
}
db.load("/client/dbfile/database.txt").then(function() {
return db.put({ _id: "_local/initial_load_complete" });
});
})
.then(function() {
// at this point, we are sure that
// initial replication is complete
console.log("loading is complete!");
return db.allDocs({ include_docs: true });
})
.then(
function(res) {
// display all docs for debugging purposes (empty)
console.log(res);
});
this.localDB = db;
Когда это запускается, моя консоль отображает это - показывая, что было добавлено 0 строк.
Object {
"offset": 0,
"rows": Array [],
"total_rows": 0,
}
Possible Unhandled Promise Rejection (id: 0):
Object {
"message": undefined,
"name": "unknown",
"status": 0,
}