代码之家  ›  专栏  ›  技术社区  ›  torial

SQLObject下的数据库更改

  •  1
  • torial  · 技术社区  · 16 年前

    我正在启动一个web项目,该项目可能适合使用SQLite。我有SQLObject在上面,但从长远来看——如果这个项目需要更健壮的(例如,能够处理高流量),我需要准备一个过渡计划。我的问题是:

    1. 在SQLObject下从一个DB(SQLite)转换到另一个DB(MySQL、Firebird或PostGre)有多容易?
    2. 换成使用多个SQLite数据库怎么样?例如,每个访客群体一个?SQLObject是否提供了处理此场景的机制?如果是,使用什么机制?

    谢谢 肖恩

    3 回复  |  直到 16 年前
        1
  •  3
  •   Mitch Wheat    16 年前

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

    当然,仅仅使用一个好的并发数据库可能会容易得多,就像你提到的(Firebird、PG等)。

    完整性:

    1和2)在你没有实际写作的情况下,它应该是直截了当的 密码我发现SQLObject在这个部门有点限制,强烈建议 SQLAlchemy 相反这要灵活得多,如果我今天开始一个新项目,我肯定会在SQLObject上使用它。它不会在任何地方移动“对象”。这里没有魔法,它将在数据库的表中传输行。如前所述,您可以手工操作,但这可能会为您节省一些时间。

        2
  •  2
  •   HUAGHAGUAH    16 年前

    createTable()的成功与否将取决于现有的基础表架构/数据类型。换句话说,SQLite映射到您选择的数据库的效果如何,以及SQLObject决定如何使用您的数据类型。

    最安全的选择可能是手动创建新数据库。然后,您必须处理数据迁移,这可能与在同一个表定义上实例化两个SQLObject数据库连接一样简单。

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

        3
  •  0
  •   S.Lott    16 年前

    我不确定我是否理解这个问题。

    这个 SQLObject documentation

    这个 documentation 列出支持的不同类型的方案。