使用 Flyway 时的 SQL SET 设置
Posted
技术标签:
【中文标题】使用 Flyway 时的 SQL SET 设置【英文标题】:SQL SET settings when using Flyway 【发布时间】:2017-05-12 11:41:35 【问题描述】:在为DB迁移生成MS SQL脚本时,顶部经常有SET
命令,比如
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
GO
由于任何迁移脚本都可以根据当前的数据库迁移版本运行,因此大概每个脚本都需要有这个“头”。
有没有更好的方法来解决这个问题? 这些设置是否可以在每次迁移时运行一次,以便每个脚本文件都不必包含它?
【问题讨论】:
【参考方案1】:我想,您必须尝试使用回调脚本。阅读它here。
因此,您在迁移脚本目录中有一个名为 beforeMigrate.sql
的脚本,并将此常用设置移动到其中。它们必须在每次迁移之前执行。
【讨论】:
以上是关于使用 Flyway 时的 SQL SET 设置的主要内容,如果未能解决你的问题,请参考以下文章
使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?