【问题标题】:MySQL bundled within an NPM appMySQL 捆绑在 NPM 应用程序中
【发布时间】:2017-06-07 12:45:17
【问题描述】:

这个想法是将 MySQL 数据库捆绑在 npm 应用程序中。这背后的原因是因为该应用程序旨在作为使用 Electron 构建的独立桌面应用程序运行,当然还有许多其他模块。

到目前为止,我对 MySQL 数据库模块的所有搜索都只找到了驱动程序。所有其他教程都讨论了典型的 Web 应用程序设置,其中 MySQL 数据库安装在服务器中。另一篇文章的评论讨论了如何在服务器中设置 MySQL db,并刚刚提到 if it's a desktop app, it's a whole other issue。我想知道是否有办法做到这一点,或者根本不可能。

【问题讨论】:

  • 所以您不仅使用完整的服务器+浏览器+运行时来制作应用程序,现在您还使用 MySQL 而不是使用 Sqlite3 或更适合应用程序的东西,而不是试图粗鲁或一些东西,但你的软件是一个肥大的庞然大物
  • 是的,我也想到了,所以我决定使用 Lovefield。

标签: javascript mysql node.js npm electron


【解决方案1】:

经过进一步研究(并在初始设计中做出了很多妥协),我决定使用 Google 的 Lovefield。它与我自 1 以来一直在寻找的最接近。它嵌入在浏览器中,以及 2。结构化查询是您获取数据的方式。仍然希望在 Electron 应用程序中存在嵌入式 MySQL 数据库的解决方案。

【讨论】:

  • MySql 或 MariaDB 并不适合在进程内运行,这就是 Sqlite 和 Redis 的用途,所以我非常怀疑有人会费心让 MySQL 在浏览器中运行
  • 实际上,我当时考虑将 MySQL 的安装程序脚本放入应用程序中,因此从技术上讲,它仍然不在应用程序中。但是我不知道从哪里开始,所以我求助于捆绑 MySQL db 的想法。事实证明这根本不是一个好主意。我想知道嵌入式类型的数据库是否更好?
  • 这样更好,专门为这个用例制作了一个嵌入式数据库
  • 嗯,很好。感谢您的见解。
【解决方案2】:

过去的某个时候,我设法在 node-webkit (https://nwjs.io/) 中嵌入了完整的 Drupal CMS 安装。它被配置为将所有已知的 PHP 文件代理到嵌入式 PHP 安装。然后我们简单地将 sql 转储文件导入到 sqlite 中,整个事情运行良好。您可能想尝试一下。

正如@jd-hernandes 指出的那样,sqlite 可能是您正在寻找的答案。

【讨论】:

    猜你喜欢
    • 2020-12-31
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多