我正在使用 sqlite3 在 Python 中开发一个小型数据库应用程序(目前针对 2.5 和 2.6)。
如果能够提供一系列可以设置数据库并验证它是否与当前模式匹配的函数,将会很有帮助。在我重新发明轮子之前,我想我应该四处寻找能提供类似东西的图书馆。我很想拥有类似于 RoR 迁移的东西。 xml2ddl似乎并不意味着作为一个库(尽管它可以那样使用),更重要的是不支持 sqlite3。由于最近对 xml2ddl 缺乏关注,我还担心有朝一日需要迁移到 Python 3。
人们正在使用其他工具来处理这个问题吗?
请您参考如下方法:
您可以通过这种方式找到 sqlite3 表的架构:
import sqlite3
db = sqlite3.connect(':memory:')
c = db.cursor()
c.execute('create table foo (bar integer, baz timestamp)')
c.execute("select sql from sqlite_master where type = 'table' and name = 'foo'")
r=c.fetchone()
print(r)
# (u'CREATE TABLE foo (bar integer, baz timestamp)',)
