|
|
1
3
我同意马特的观点,你可能走错了方向。我只想在所有脚本的末尾添加一个insert语句,在数据库的表中插入一个“version”行。在部署脚本结束时,检查版本表中是否包含所有正确的行是一项简单的任务。 此外,您应该运行所有的发布脚本 就像他们在生产中一样 针对你的QA服务器。所有测试都是在这里进行的。除了发布步骤中的内容之外,您永远不会对服务器做任何事情——您只运行发布脚本,如果这些发布脚本发生了更改,那么您将使用它们刷新QA服务器,并重新进行测试。
|
|
|
2
1
即使每个版本的脚本都不同(不是创建或替换数据库对象的已定义源代码管理结构的一部分),我也会采用一种做法,将脚本分解为每个文件最基本的工作单元,并通过Ant和标准sql任务部署它们。您可能有以下类型的脚本:
如果标准化一致的语句分隔符(我建议使用“/”,因为它适用于上述所有情况),并将部署设置为出错时失败,那么Ant将部署所有文件,或者指出为什么不能部署。 我认为,如果没有关于分隔符选择或每个文件的语句的标准,那么以其他方式解析一个或多个SQL和/或PLSQL语句的文件并查找缺少的分隔符将非常困难。 |
|
|
3
0
只是一个想法,但你是不是走错了路? 我想,在文件级别,文件中没有分号不是问题吗?但它只在通过批处理运行时才成为问题?如果是这样的话,也许你可以改变批处理来应对这个问题。 如果是文件,那么测试就应该把它捡起来。你不想解析你的输入文件以确保它们可以编译等等。 |
|
|
vytaute · 返回表类型时Oracle函数中的类型错误 4 年前 |
|
|
BetaRide · Oracle架构用户无法在过程中创建表 8 年前 |
|
|
F.donoso · 嵌套的隐式游标未在数据中清除 8 年前 |
|
|
ADH · 如何在网格中调用过程和输出结果 8 年前 |