sam*_*ers 5 liquibase liquibase-sql
正在使用的 liquibase 版本 - org.liquibase:liquibase-core:3.8.2。(不是专业版)
Liquibase 文档(1和2)如下所述splitStatements(默认为 true)
设置为 false 时,不会在 ; 和 GO 上使用 Liquibase split 语句。如果未设置则默认为 true
和
当设置为 false 时,删除 ; 和 GO 上的 Liquibase split 语句。默认值为:true。
我发现的另一个有用的软件帖子 - In Liquibase is it OK to have an empty line on splitstatements?
;我理解 - 当 splitStatements 为 true 时,liquibase 会拆分和上的语句GO
splitStatements增加了什么好处 - 即,如果 SQL 语句是否在(结束分隔符)上分割;,会有什么区别 - 即,如果语句在单个查询或多个查询中执行 - 数据库不会处理“ ;” 无论如何基于的东西。这似乎是必须理解的。——有人可以举个例子吗?splitStatements:false. 禁用 splitStatements 可以给我们带来什么好处。-任何例子将不胜感激。------------------------ 下面@user13579 的回答后扩展的问题
是 liquibase 变更日志文件的摘录。这就是我提出这个问题的原因。它在脚本中有splitStatements:false一个;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
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2576 次 |
| 最近记录: |