Flyway 模式仅仅是提供信息还是影响功能?

Posted

技术标签:

【中文标题】Flyway 模式仅仅是提供信息还是影响功能?【英文标题】:Are Flyway schemas merely informational or do they affect function? 【发布时间】:2020-03-14 12:58:41 【问题描述】:

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

如果我为我的数据库设置基线并在“foo”模式中创建模式历史表,Flyway 是否会应用迁移文件夹中的迁移,该迁移对“bar”模式中的对象进行操作?

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

【问题讨论】:

【参考方案1】:

命令行中的模式列表有两个作用:

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

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

迁移可以引用您有权访问的数据库中的 any 架构 - 实际上,一些对象可能存在于一个架构中,但依赖于另一个架构中的对象。如果您对进入dbo 的历史表感到满意,并且想使用Flyway 控制整个数据库,请不要设置这些参数。每个架构的脚本文件夹可以帮助您维护它们,但这不是必需的。

【讨论】:

我们没有使用 SQL Server 架构来强制安全;它们只是为了方便逻辑分组和排序。非常感谢您的有用回答!

以上是关于Flyway 模式仅仅是提供信息还是影响功能?的主要内容,如果未能解决你的问题,请参考以下文章

sim7600ce 4G模块设置飞行模式后重启模块自动关闭飞行模式,这个怎么实现重启后还是飞行模式

采取措施后降低的是严重度,频度还是探测度

我正在使用 Flyway 数据库迁移工具。我可以存档已迁移的工件还是必须保留在当前文件夹下?

flyway检查Java中是不是存在列

生物信息析编程Perl 还是Python?

使用 flyway 修补多个相同的模式