Подтвердить что ты не робот

Электронное приложение с базой данных

Я разрабатываю приложение, использующее атомный электронный проект, и хочу иметь легкую базу данных, которая будет использоваться с этим приложением. До сих пор я был неудачен и очень расстроен этим. Пожалуйста, помогите мне найти локальную базу данных.

Я попытался использовать sqlite3 без успеха. Я не могу его построить. Я использую электрон v0.31.0, который, как я полагаю, использует iojs v3.1.0 внутри, и это заставляет sqlite3 не компилироваться.

4b9b3361

Ответ 1

Я бы подумал использовать knexjs, поскольку он на самом деле довольно зрелый и получил довольно много скорости. Вам понадобится одно из следующих, хотя...

  • пг
  • sqlite3 ***
  • MySQL
  • mysql2
  • mariasql
  • сильной оракул
  • оракул

Кроме того, я обнаружил, что эта ссылка помогла мне решить мои проблемы с node_sqlite3.

Счастливое кодирование!

Ответ 2

Вы пробовали nedb? Написанный в чистом JavaScript, никакой зависимости. Я попробовал это один раз. Если вы ищете sql файлы, то это не будет то, что вы ищете.

Ответ 3

Доступна версия Windows для решения проблем node_sqlite3 здесь (мертвая ссылка в ответе @aestrro)

TL; DR (текущий на август 2016 года)

cd .\node_modules\sqlite3
npm install nan --save
npm run prepublish
node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64
node-gyp rebuild --target=1.3.2 --arch=x64 --target_platform=win32 --dist-url=http://electron.atom.io/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64

Ответ 4

У меня была такая же проблема с sqlite3. Пробовал все и продолжал это для меня: -

npm install --save sqlite3
npm install --save electron-rebuild
npm install --save electron-prebuilt
.\node_modules\.bin\electron-rebuild.cmd

Это создаст папку "электрон-v1.3-win32-x64" в. \ node_modules\sqlite3\lib\binding\location, которая используется электроном для использования sqlite3.

Просто запустите приложение, и теперь вы сможете использовать sqlite3.

Ответ 5

Или, если вы предпочитаете использовать его sql.js, который представляет собой порт SQLite для JavaScript, путем компиляции кода SQLite C с помощью Emscripten, Он может читать базы данных с серверов и дисков со знакомыми запросами:

var contents = db.exec("SELECT * FROM my_table");

Если вы хотите, чтобы функции онлайн/офлайн-синхронизации просматривались PouchDB функция репликации:

db.replicate.to('http://example.com/mydb');

Ответ 6

Я бы не рекомендовал встроенный модуль node sqlite3. Это требует перестройки для работы с электроном. Это огромная боль, которую нужно сделать - по крайней мере, я никогда не смогу заставить ее работать, а их нет инструкций по восстановлению модулей на окнах.

Вместо этого посмотрите на модуль kripken 'sql.js', который является sqlite3, который был скомпилирован на 100% в JavaScript. https://github.com/kripken/sql.js/

Ответ 7

Если вы хотите использовать одну и ту же базу данных в электронной и других средах, вы должны проверить RxDB

Ответ 8

Один из интересных, но не очень популярных dbs - https://www.npmjs.com/package/tingodb

Он совместим с MongoDB на уровне API и хранит данные в файлах.

Ответ 9

Более простой способ использовать node-sqlite3 с помощью Electron с electron-boilerplate-sqlite:

git clone https://github.com/sjmelia/electron-boilerplate-sqlite
cd electron-boilerplate-sqlite
npm install
npm start