我正在开始一个可能适合SQLite的网络项目。我有SQLObject,但在这里考虑长期 - 如果这个项目需要更强大(例如能够处理高流量),我需要准备好过渡计划。我的问题:
谢谢, 肖恩
答案 0 :(得分:3)
3)这是一个非常有趣的问题。一般来说,SQLite对于基于Web的东西来说是无用的。它的大小相当好,但是对于并发性来说非常可靠,所以如果你打算同时用几个请求来命中它,你就会遇到麻烦。
现在你在问题的第3部分中的想法是使用多个SQLite数据库(例如,每个用户组一个,甚至每个用户一个)。不幸的是,SQLite在这个部门没有任何帮助。但这是可能的。我知道之前完成此项目的一个项目是Divmod's Axiom。所以我肯定会检查出来。
当然,使用像你提到的那样好的并发数据库可能要容易得多(Firebird,PG等)。
为了完整性:
1和2)如果没有实际编写多代码,它应该是直截了当的。我觉得SQLObject在这个部门有点限制,强烈推荐使用SQLAlchemy。这要灵活得多,如果我今天开始一个新项目,我肯定会使用SQLObject。它不会在任何地方移动“物体”。这里没有任何魔法,它将在数据库中的表中传输行。如上所述你可以手工完成,但这可能会节省你一些时间。
答案 1 :(得分:2)
您使用createTable()取得的成功将取决于您现有的基础表架构/数据类型。换句话说,SQLite如何映射到您选择的数据库以及SQLObject如何决定使用您的数据类型。
最安全的选项可能是手动创建新数据库。然后,您将不得不处理数据迁移,这可能就像在同一个表定义上实例化两个SQLObject数据库连接一样简单。
为什么不从更全功能的数据库开始呢?
答案 2 :(得分:0)
我不确定我理解这个问题。
SQLObject documentation列出了六种可用的连接。此外,数据库连接(或方案)在连接字符串中指定。将数据库连接从SQLite更改为MySQL是微不足道的。只需更改连接字符串。
documentation列出了支持的各种方案。