【发布时间】:2011-09-29 23:52:05
【问题描述】:
假设我通过运行在 Pylons 中创建表
paster setup-app development.ini
它将生成一个数据库文件(即 mydatabase.db)。现在,假设稍后我将模型更改为具有更多表和/或列,我将如何确保旧数据仍被保留和访问?我需要迁移旧数据库吗?这一切是如何运作的?
【问题讨论】:
标签: mysql database database-design sqlalchemy pylons
假设我通过运行在 Pylons 中创建表
paster setup-app development.ini
它将生成一个数据库文件(即 mydatabase.db)。现在,假设稍后我将模型更改为具有更多表和/或列,我将如何确保旧数据仍被保留和访问?我需要迁移旧数据库吗?这一切是如何运作的?
【问题讨论】:
标签: mysql database database-design sqlalchemy pylons
只要您添加新表,它就可以无缝运行,即它只是创建新表而不触及现有表。但是,如果您更改现有表架构(例如添加新列),则需要手动更新数据库架构或删除/重命名该表并运行 paster setup-app development.ini 以重新创建它。
通常我重命名修改后的表,运行 setup-app 以创建一个新的干净表并使用类似的内容复制数据:
INSERT INTO some_table (col1, col2, col3) SELECT (col1, col2, col3) FROM some_table_old
【讨论】: