序列和分区的版本化或可重复脚本 - Flyway?



我有创建分区函数的SQL脚本&分区方案。我希望通过flyway脚本来处理迁移。我想知道这些SQL脚本是否可以被视为可重复脚本或版本脚本?

同样,我有创建SEQUENCE的脚本,这应该被视为版本化脚本还是可重复脚本?

只有在尝试创建函数之前对其是否存在进行了检查,才能使其成为可重复的脚本。否则,它将在每次部署时尝试创建函数,从而导致错误。大致如下:

IF NOT EXISTS( SELECT * FROM sys.partition_functions WHERE name = 'MyFunction' ) 
BEGIN
CREATE PARTITION FUNCTION...
END

你对SEQUENCE做了同样的事情,但你想在这里找到它:sys.sequences。就这样。

尽管,我可能不会使SEQUENCE或PARTITION可重复。它们通常创建一次,然后就完成了。然而,我完全可以想象,在这种情况下,你要对多个系统进行各种不同类型的部署,让这些东西是可重复的,以确保它始终存在,无论版本如何,这是一个好主意。

最新更新