Sqlalchemy& Pylons:将新表添加到先前定义的数据库中?

时间:2011-07-06 21:17:52

标签: mysql database database-design sqlalchemy pylons

假设我通过运行

在Pylons中创建表格
paster setup-app development.ini

它将生成一个数据库文件(即mydatabase.db)。现在,让我们说稍后我改变我的模型以获得更多的表和/或列,我如何确保旧数据仍然保留和可访问?我是否需要迁移旧数据库?这一切都有用吗?

1 个答案:

答案 0 :(得分:1)

只要添加新表,它就可以无缝地工作,即它只是创建新表而不触及现有表。但是,如果更改现有表架构(例如添加新列),则需要手动更新数据库架构或删除/重命名该表并运行paster setup-app development.ini以重新创建它。

通常我重命名修改后的表,运行setup-app创建一个新的干净表,并用这样的方式复制数据:

INSERT INTO some_table (col1, col2, col3) SELECT (col1, col2, col3) FROM some_table_old