【发布时间】:2017-12-11 03:26:40
【问题描述】:
我刚开始做一个新项目。我们正在从头开始构建一个新的应用程序。团队从一个全新的架构开始。我想自动化数据库构建过程,所以我开始寻找选项。 Flyway似乎是一个不错的选择。我一直在玩,发现该工具有一些限制。也许,有人可以提供帮助。
SQL 文件的目录结构如下: SQL -- DDL -- DML -- 包
我们正在进行敏捷开发,因此文件名基于 sprint 编号。我们使用的文件命名约定是: Sprint#_script#_userstory#_description
例如: S1_01_US123_CreateNewTable.sql S1_02_US123_AddConstraint.sql
下一个冲刺: S2_01_US456_AddColumn.sql
等等……
我设置了 JDBC 参数并且能够连接。我用几个测试脚本测试了一些基本的东西,比如:清理、修复、信息和迁移,这就像一个魅力。当我尝试部署所有脚本时,我开始遇到问题。像这样的问题: - 它不喜欢单下划线。 - 不喜欢以S1_01_*开头的文件名,其余文件名不同,在不同的文件夹中。
我有以下问题:
我可以使用 Flyway 构建而无需重命名文件吗?
-
我怎样才能让它按这个顺序部署:
- DDL
- DML
- 包(每次我部署)。而且我们有一个单独的头文件和正文文件,所以也要先部署头文件。
可以改变schema_version表的结构吗?
我可以进行选择性清洁吗?喜欢标记一些对象不要被丢弃?
我主要关心的是运行 DDL。如果我能做到这一点,那么我就可以开始使用 Flyway 并边做边学。
提前致谢。
预兆
【问题讨论】:
标签: deployment oracle11g version-control automation flyway