pav*_*van 3 sql migration naming conventions flyway
schema_version 表中的属性“version”是 VARCHAR2(50 BYTE)。
当数据库迁移脚本被命名为VB2042_1_First_Changes.sql Flyway 时抛出错误消息。
错误:版本号应始终从 0..9 开始
varchar2 数据类型应该能够接受字母数字数据。这是 flyway 3.2 中的错误还是有任何可用的解决方法。
你的命名对我来说似乎有两个问题。
V后面必须跟数字。B。)关键概念是 Flyway 确实将您的版本号(文件名的第一部分)转换为实际的 Major.Minor.Micro.Nano 样式编号,就像软件行业中常用的那样。换句话说,您脚本的版本号不是按字母顺序排列的。
在V需要确定这个脚本作为一次性运行,与此相反的R,这意味着重复,每次运行。在第一个字符之后,在V/ 之后R,是您的版本号。
版本号的每个组成部分由下划线或点分隔。在内部,下划线被转换为点,所以我只使用点。另外,我喜欢点,因为它们与双下划线和我在描述部分可能有的任何下划线形成对比,强调它们构成了实际的版本号。
所以你的文件名为:
VB2042_1_First_Changes.sql
...应该以这种方式命名,删除B并在中间添加第二个下划线......
V2042_1__First_Changes.sql
... Flyway 将在内部生成一个版本号2042.1。
就个人而言,我使用大致日期和小时作为我的脚本版本号。我使用点而不是下划线。所以我会把它用在今年 1 月 23 日晚上写的剧本中。
V2017.01.23_19__First_changes.sql
... Flyway 将在内部生成一个版本号2017.1.23.19。注意01这里的任何前导零是如何被忽略的,因为字符串被转换为数字。
这是我在 Flyway 上的演讲的幻灯片,总结了这些规则。