我有一个liquibase changelog文件,其中包含一些insert语句,这些语句是我用标记完成的,但是当我从changelog(对于SQL Server数据库)生成一个SQL文件时,它会删除语句末尾的分号。在我的changelog文件中,如下所示:
<changeSet author="Ferid (generated)" id="1528876614155-371-MSSQL-58">
<preConditions onFail="MARK_RAN" onSqlOutput="TEST">
<dbms type="mssql" />
</preConditions>
<sql>
BEGIN TRAN;
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'I', 41, (select res_id FROM result_def where mai_id = 41 and res_name='MAI_MPO'),0,1);
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'A', 51, (select res_id FROM result_def where mai_id = 51 and res_name='MAI_OPE'),0,2);
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'A', 52, (select res_id FROM result_def where mai_id = 52 and res_name='MAI_OPR'),0,3);
commit;
</sql>
<rollback/>
</changeSet>
但从中生成的SQL文件如下所示:
-- Changeset C:/Users/Ferid/Documents/Box Sync/PRIVATE_Ferid/liquibase-3.5.5-bin/sdk/workspace/changelog/com/example/newChangelogModInserts.xml::1528876614155-371-MSSQL-58::Ferid (generated)
BEGIN TRAN
GO
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'I', 41, (select res_id FROM result_def where mai_id = 41 and res_name='MAI_MPO'),0,1)
GO
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'A', 51, (select res_id FROM result_def where mai_id = 51 and res_name='MAI_OPE'),0,2)
GO
INSERT INTO pdc_matrix (pattern_id, prod_ins_level, mai_class_id, result_id, y_or_r, and_level)
values (1012, 'A', 52, (select res_id FROM result_def where mai_id = 52 and res_name='MAI_OPR'),0,3)
GO
commit
GO
为什么会发生这种情况?我能做些什么来防止它发生?