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模块设置飞行模式后重启模块自动关闭飞行模式,这个怎么实现重启后还是飞行模式