Различные данные между предварительно заполненным файлом БД SQLite при чтении React-Native - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть проект React Native, использующий SQLite3 для хранения данных, и мне нужно иметь предварительно заполненную базу данных, но из RN и из терминала один и тот же файл содержит разные данные и разные таблицы кажется, что есть разные файлы

Я создал void файл mobile-agents.db через терминал macOS (bash), и я создал несколько таблиц и заполнил их некоторыми данными.

ЕслиЯ проверяю через терминал, как это

$ sqlite3 mobile-agents.db
sqlite3> # ... create logs table
sqlite3> # ... insert some data
sqlite3> select * from logs;

У меня есть ожидаемые данные.

Когда я использую его через React Native code (javascript), я обнаружил базу данных, но без таблиц.

Если я создаю таблицы и вставляю некоторые данные через код RN, я вижу только данные из кода , если я ищу данные из данных терминала, то там нет

Реагирует на собственный код

SQLite.openDatabase({
    name: "mobileAgents.db",
    createFromLocation: "~mobileAgents.db",
    location: "Library"
})
.then( db => {
  db.transaction( trx => {
    trx.executeSql( "INSERT INTO logs(id, moment, location, description, data) VALUES(50, "+ (new Date()).getTime() +", '37.62345678,12.62345678', 'daCodice', '987987');", [])
      trx.executeSql("SELECT * FROM logs;", [])
        .then( results => {
          let rows = [];
          for( let i = 0; i<results[1].rows.length; i++ ) {
            console.log(results[1].rows.item(i));
          }
        })
      ;
    })
    .then( result => {
      console.log("then transaction");
      console.log(result);
    })
    .catch( e => {
      console.error( e );
    });
})
.catch( err => {
    console.log(err);
});

с терминала

sqlite3> .tables;

результат

table|logs|logs|2|CREATE TABLE logs (id, moment, location, description, data)

с кодом RN

trx.executeSql("SELECT name, rootpage FROM sqlite_master;", [])
  .then( results => {
    for( let i = 0; i<results[1].rows.length; i++ ) console.log(results[1].rows.item(i));
  });

результат

{rootpage: 3, name: "android_metadata"}
{rootpage: 4, name: "logs"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...