Электронное приложение с базой данных
Я разрабатываю приложение, использующее атомный электронный проект, и хочу иметь легкую базу данных, которая будет использоваться с этим приложением. До сих пор я был неудачен и очень расстроен этим. Пожалуйста, помогите мне найти локальную базу данных.
Я попытался использовать sqlite3 без успеха. Я не могу его построить. Я использую электрон v0.31.0, который, как я полагаю, использует iojs v3.1.0 внутри, и это заставляет sqlite3 не компилироваться.
Ответы
Ответ 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
Ответ 10
Вы пробовали Dexie? Он активно поддерживается (до сих пор) и много запусков (2K +)
И он имеет огромное количество методов /apis
http://dexie.org
Пример GitHub: https://github.com/dfahlander/Dexie.js/tree/master/samples/electron