在我们当前的数据库开发环境中,我们使用自动构建过程检查svn create database脚本中的所有sql代码,并将它们应用于各种开发/ qa数据库。重新运行数据库开发脚本
这是一切都很好,是一个tremdous改善了我们过去一样,但我们有一个问题,重新运行的脚本。很显然,这对于像改变程序这样的一些脚本来说不是问题,因为你可以一遍又一遍地运行它们而不会不利地影响系统。现在添加元数据并运行像create/alter table语句之类的语句,我们添加代码来检查并查看对象是否存在,如果存在,请不要运行它们。
我们的问题是,我们真的只有一次机会来运行脚本,因为一旦脚本已经运行时,物体在环境中,系统不会再次运行该脚本。如果一旦部署后需要更改某些内容,我们就有一个难以运行更新脚本的过程,即更新脚本,希望所有内容都按照正确的顺序排列,并且所有的PK都在环境之间排队(数据库是,我们应该说,“特别”)。
短删除数据库和从头开始的过程(最后一个最新版本)的,没有任何人有一个更优雅的解决方案呢?