liquibase“splitStatements”有什么好处?

2024-03-03

正在使用的 liquibase 版本 - org.liquibase:liquibase-core:3.8.2。 (不是专业版)

Liquibase 文档 (1 https://docs.liquibase.com/change-types/sql.html & 2 https://docs.liquibase.com/concepts/changelogs/sql-format.html)下面说的是splitStatements(默认为 true)

设置为 false 时,不会在 ; 和 GO 上使用 Liquibase split 语句。 如果未设置则默认为 true

and

当设置为时,删除 ; 和 GO 上的 Liquibase split 语句 错误的。默认值为:true。

我发现的另一个有用的软文 -在 Liquibase 中, split 语句上可以有空行吗? https://stackoverflow.com/a/67230550/4820101

我理解 - 当 splitStatements 为 true 时,liquibase 会将语句拆分为; and GO

  1. 目前还不完全清楚有什么好处splitStatements添加 - 即如果 SQL 语句被分割;(结束分隔符)与否,会有什么区别 - 即如果语句在单个查询或多个查询中执行 - 数据库不会处理“;”无论如何基于的东西。这似乎是必须理解的。 ——有人可以举个例子吗?
  2. 我当前的项目有splitStatements:false。禁用 splitStatements 可以给我们带来什么好处。 -任何例子将不胜感激。

------------------------@user13579 回答后问题得到扩展
以下是 liquibase 变更日志文件的摘录。这就是我提出这个问题的原因。它有splitStatements:false and a ;s 在脚本中并且它有效。和splitStatements:false我预计在这种情况下会出现错误,并且我想答案也表明在这种情况下会出现错误。下面是来自生产代码,所以我不确定它是如何工作的,并且后端是 POSTGRE。有人可以解释一下吗。

--liquibase formatted sql

--changeset adam:001-users-001 failOnError:true splitStatements:false logicalFilePath:001-users.sql

CREATE TABLE sys_users
(
  user_id SERIAL,
  first_name character varying(64) NOT NULL,
  last_name character varying(64) NOT NULL,
  email character varying(255) NOT NULL
)
WITH (
  OIDS=FALSE
);

CREATE TABLE user_role
(
  role_id SERIAL,
  role_name character varying(255) NOT NULL,
  description character varying(255) NOT NULL,
  created_on timestamp(6) with time zone NOT NULL,
  created_by character varying(64) NOT NULL,
)
WITH (
  OIDS=FALSE
);

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

liquibase“splitStatements”有什么好处? 的相关文章

随机推荐

  • 为什么启动 2 个以上 AVD 仅在特定条件下有效

    我遇到了我不完全理解的奇怪问题 我尝试从终端启动 2 个以上 AVD 它甚至适用于 4 个 AVD 但仅在特殊条件下有效 我有一个用于 3 个 AVD 的代码 echo no ANDROID HOME tools android creat
  • 开发 ARM 处理器需要什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我熟悉 X86 64 架构和汇编 我想开始开发 ARM 处理器 但与桌面处理器不同的是 我没有真正的
  • 在 Debian Squeeze 上安装 mysql2 gem 时出错

    我在 Debian Squeeze 上安装 mysql2 gem 时遇到了这个 流行 错误 gem install mysql2 Building native extensions This could take a while ERRO
  • VB中如何获取当前可执行文件的完整路径?

    我使用 VB 创建了一个 Windows 应用程序 每当我执行exe 我想获取当前目录exe以编程方式归档 例如 现在 我正在执行exe文件输入d myApp test exe 每当我双击exe我想获取文件的路径exe文件如d myApp
  • 如何从 NSView 或 NSWindow 创建 AXUIElementRef?

    关于 macOS Accessibility API 是否可以创建对应于 NSView 或 NSWindow 的 AXUIElementRef 在 Carbon 时代 似乎有一种方法可以使用 AXUIElementCreateWithHIO
  • 所有虚函数都需要在派生类中实现吗?

    这似乎是一个简单的问题 但我在其他地方找不到答案 假设我有以下内容 class Abstract public virtual void foo 0 virtual void bar class Derived Abstract publi
  • 加载位图图像后,Jetpack compose (Glance) 小部件不会重新组合

    我正在尝试使用具有 SVG 图像支持的 Glance Jetpack 创建一个 Appwidget 我可以使用下载位图 ImageRequest Builder this data url decoderFactory SvgDecoder
  • 如何在django中的同一页面上拆分帖子视图

    我不知道这个问题是否有意义 但我对此感到很困惑 我有一个帖子列表视图 它正在此处呈现一些帖子 My question is how can I split the sections of the page something like th
  • 使用字母数字模式将 URL 编码为 QR 码?

    我需要为我的网址构建一个尽可能小的二维码 它足够短以使用缩短器 并且我不想依赖它们的可靠性 HTTP SUBDOM DOMAIN EU 8位字节模式太浪费地方了 我在那里可以到达版本2 但是版本1在字母数字模式 有没有办法将字母数字模式设置
  • 将现有 MATLAB 绘图绘制到另一个图形中

    我使用绘图命令绘制图形 然后使用设置命令更改其许多属性 我还存储了绘图的句柄 例如 h1 我需要的是稍后在我的代码中使用句柄再次绘制相同的图形 我检查了plot命令 没有找到任何接受句柄的版本 我还考虑获取 Xdata 和 Ydata 并使
  • 使用对话框完成 AJAX 调用后如何重新加载页面?

    因此 一旦用户单击打开的链接 我就会有一个带有表单的对话框用户界面 一旦他们单击 添加按钮 它就会创建一个 AJAX 调用 将数据提交到数据库中 我需要添加的是 reload 函数来刷新页面 如何添加重新加载功能 我尝试添加 windows
  • 当光标位于子组件上时,JPanel 不生成 MouseEvents

    这对我来说有点奇怪 但是当光标位于 JTextField 和 JToolBar 子组件上时 JPanel 不会生成 MouseEvents 但当光标位于 JLabel 上时 它会生成 MouseEvents 有人可以解释我为什么吗 有没有办
  • 如何将字符串从原生 iOS 插件返回到 unity?

    我正在创建一个 iOS 插件 它需要向 Unity 返回一个字符串 或 const char 我该如何实施 我想澄清一下之前的答案 C 声明 DllImport Internal private static extern string g
  • Grails 自动编译不在开发环境中

    我在一个名为 本地 的环境中运行 Grails 2 1 因为 开发 是为临时系统保留的 但我希望必须像在开发模式下一样自动编译 即如果我要更改控制器 则更改将被一次编译而无需重新运行 run app 参数 grails gsp enable
  • cordova 运行时出现 ios 错误..命令的错误代码 65:带有参数的 xcodebuild:

    This 仅发生错误当我尝试cordova run ios device 即使cordova build ios执行命令 没有报错 我做错了什么 以及如何在我的 iPhone 上调试 cordova 项目 需要这个 因为需要测试相机功能 W
  • pymysql,查询期间失去与MySQL服务器的连接

    查询期间与 MySQL 服务器的连接丢失 如何解决此问题 最好在我的程序中解决这个问题 import pymysql connection pymysql connect host user password db charset utf8
  • 获取 C++0x 随机数生成器状态的标准方法是什么?

    我正在尝试学习随机数生成器的新 C 0x 方法 26 5 并在符合 C 0x 的随机数引擎 26 5 1 4 上实现 该标准详细介绍了种子序列所需的接口 以及如何将它们传递给构造函数或seed发动机的功能 但是 我找不到任何标准接口来从引擎
  • 数据库复制还是镜像?

    SQL Server 2005 中的复制和镜像有什么区别 简而言之 镜像允许您让第二台服务器成为主服务器的 热 备用副本 随时准备在主服务器发生故障时接管 因此镜像提供了故障转移和可靠性 另一方面 复制允许两个或多个服务器保持 同步 这意味
  • iPhone App Objective C 中的 SimpleXML 解析方式

    我一直想知道是否有一种方法可以像在 PHP 中解析 SimpleXML 一样轻松地在 Objective C 中解析 XML 我所知道的唯一现有方法如下 使用 NSXMLParser 并创建委托来处理遇到 XML 元素 值等时触发的事件 使
  • liquibase“splitStatements”有什么好处?

    正在使用的 liquibase 版本 org liquibase liquibase core 3 8 2 不是专业版 Liquibase 文档 1 https docs liquibase com change types sql htm