首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLObject下的数据库更改

SQLObject下的数据库更改
EN

Stack Overflow用户
提问于 2008-11-09 03:46:40
回答 3查看 879关注 0票数 1

我正在启动一个网络项目,很可能对SQLite没什么影响。我有SQLObject在上面,但是考虑到长期而言--如果这个项目需要一个更强大的(例如能够处理高流量),我需要准备一个过渡计划。我的问题:

  1. 从一个DB (SQLite)到另一个DB (MySQL、Firebird或PostGre)在SQLObject下转换有多容易?
  2. SQLObject是否提供了使这种转换更容易的工具?它是简单地接受我定义的对象并调用createTable吗?
  3. 不如用多个SQLite数据库来代替呢?例如,每个访客组一个?SQLObject是否提供了一种处理此场景的机制,如果是的话,使用的机制是什么?

谢了,肖恩

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-11-09 11:53:37

( 3)这是一个相当有趣的问题。一般来说,SQLite对于基于网络的东西来说是非常无用的。它的大小很好,但是对于并发性来说却是非常大的,所以如果您计划同时使用几个请求来处理它,那么您就会遇到麻烦。

现在,您在问题的第3部分中的想法是使用多个SQLite数据库(例如每个用户组一个,甚至每个用户一个)。不幸的是,SQLite不会在这个部门给你任何帮助。但这是有可能的。我知道以前做过的一个项目是迪夫莫德公理。所以我肯定会查清楚的。

当然,像您提到的那样,仅仅使用一个好的并发DB可能要容易得多(Firebird、PG等)。

为完整起见:

1和2)如果不实际编写大量的代码,它应该是简单明了的。我发现SQLObject在这个部门有一点限制,因此强烈建议使用SQLAlchemy。这要灵活得多,如果我今天要启动一个新项目,我肯定会在SQLObject上使用它。它不会在任何地方移动“物体”。这里不涉及魔术,它将在数据库中的表中传输行。就像前面提到的,你可以用手来做,但这可能会节省你一些时间。

票数 3
EN

Stack Overflow用户

发布于 2008-11-09 06:20:43

createTable()的成功将取决于您现有的底层表模式/数据类型。换句话说,SQLite如何映射到您选择的数据库,以及SQLObject如何决定使用您的数据类型。

最安全的选择可能是手工创建新数据库。然后,您将不得不处理数据迁移,这可能就像在相同的表定义上实例化两个SQLObject数据库连接一样容易。

为什么不从功能更全面的数据库开始呢?

票数 2
EN

Stack Overflow用户

发布于 2008-11-09 04:06:02

我不太明白这个问题。

SQLObject文档列出了六种可用的连接。此外,数据库连接(或方案)是在连接字符串中指定的。将数据库连接从SQLite更改为MySQL非常简单。只需更改连接字符串即可。

文档列出了支持的不同类型的方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/275572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档