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

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

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

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

【问题讨论】:

    标签: sql-server flyway


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我们没有使用 SQL Server 架构来强制安全;它们只是为了方便逻辑分组和排序。非常感谢您的有用回答!
    猜你喜欢
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多