【问题标题】:How to add support for multiple users to edit the same sqlite database?如何添加对多个用户编辑同一个 sqlite 数据库的支持?
【发布时间】:2013-12-16 04:16:25
【问题描述】:

给定一个使用某种版本控制的多开发人员项目,其中项目的一部分将包括使用桌面应用程序,用户将在其中将真实的生产数据添加到 sqlite 数据库文件中,稍后将在另一个应用程序中用作输入/配置数据。该文件应如何在开发人员之间分发?在版本控制中?在共享网络驱动器上?

您也可以将 sqlite 切换到其他东西,唯一的要求是它应该可以嵌入到桌面应用程序中。

【问题讨论】:

  • 你能再澄清一下吗?
  • 好的,您有什么具体的需要澄清的吗?
  • 您是在问开发人员之间如何管理数据库架构?数据库中的数据?
  • 是的,至少是数据,可能还有架构。
  • 数据库中用户的真实数据还是样本/测试数据?

标签: database sqlite version-control multi-user


【解决方案1】:

听起来您已经对本地桌面应用程序进行了分布式使用,并且希望让它们输入数据并将数据保存到共享数据库中。

客户端桌面应用程序可以简单地使用 TCP 连接到数据库服务器。您不能为此使用 Sqlite,因为它是基于文件的数据库而不是数据库服务器。不过你可以使用 PostgreSql。

其他选项:

  1. 使用复制与主数据库或其他客户端数据库同步的每台客户端计算机上的本地数据库服务器。一般来说,这些都应该是同一个数据库的“品牌”。

  2. 每台客户端计算机(例如 sqlite)上的本地文件数据库,使用 SymmetricDS 或 Daffodil 等工具与主数据库或其他客户端数据库同步,该工具可让您通过 HTTP 同步不同的数据库。

【讨论】:

  • 我虽然是服务器解决方案,但它还有其他困难,例如为每个项目设置它的开销。我想我会使用可以合并的 json 文件。
  • 您可以使用像 liquibase 这样的工具来使同步架构和初始化更容易
  • 谢谢,这看起来很有趣。我得调查一下。
猜你喜欢
  • 2012-07-21
  • 2015-12-13
  • 2020-07-06
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
相关资源
最近更新 更多