【发布时间】:2012-01-23 05:21:34
【问题描述】:
我正在编写一个使用数据库(当前为 MySQL 4)来存储数据的应用程序。
我很可能稍后会以更新的形式对此进行更改以添加更多数据。更新应用程序很简单,它基本上归结为用新的程序文件覆盖程序文件。但是,我该如何更新数据库架构?
数据库是远程的,因此我的应用程序可能存在于多个位置,因此在安装程序中简单地转储 ALTER 和 CREATE 语句会导致多次进行更改,并且有人明确要求我提供一个允许的自动解决方案在过渡期间更新应用程序副本,并自动更新架构。
我考虑在启动时检查架构以查找丢失的表和列,并根据需要添加它们,但这似乎不是一个干净的解决方案。我还考虑在数据库中放置某种“模式版本”编号,但看不到任何方法可以做到这一点,除了一个带有 int“版本”列的单行表,这似乎也不是一个好方法。
【问题讨论】:
标签: sql schema versioning