Flyway模式仅仅是信息性的,还是影响功能



我有一个SQL Server数据库,它使用模式对对象进行逻辑分组;数据库中有十个模式。

如果我对数据库进行基线设置,并在"foo"模式中创建模式历史表,那么Flyway会从对"bar"模式中的对象进行操作的迁移文件夹中应用迁移吗?

对于数据库中的每个模式,我需要一个迁移脚本文件夹吗?文档解释了如何在命令行上指定模式,但没有明确说明为什么必须这样做。

命令行上的模式列表有两个效果:

  • 第一个命名模式是历史表所在的位置
  • 命名模式是由flyway clean清理的模式

(注意-在6.1中引入了命令行defaultSchema参数来区分这些用法(

迁移可以引用数据库中您可以访问的任何模式——事实上,一些对象可能存在于一个模式中,但依赖于另一个模式的对象。如果您对dbo中的历史记录表感到满意,并且希望使用Flyway控制整个数据库,那么就不要设置这些参数。每个模式的脚本文件夹可能有助于维护它们,但这不是必需的。

最新更新