From 91a21c01b65d2afb51b0dd4a45634d50b80ee3cf Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Mon, 30 Dec 2024 09:44:12 +0100 Subject: [PATCH 01/11] DAT-19188 adding tidb --- .github/workflows/main.yml | 3 +- .../changelogs/tidb/setColumnRemarks.xml | 19 ++++++ .../changelogs/tidb/setTableRemarks.xml | 14 +++++ .../tidb/addDefaultValueBoolean.json | 15 +++++ .../tidb/addDefaultValueComputed.json | 15 +++++ .../expectedSnapshot/tidb/createView.json | 13 ++++ .../tidb/setColumnRemarks.json | 21 +++++++ .../expectedSql/tidb/addAutoIncrement.sql | 3 + .../expectedSql/tidb/addCheckConstraint.sql | 3 + .../tidb/addDefaultValueSequenceNext.sql | 4 ++ .../expectedSql/tidb/addLookupTable.sql | 4 ++ .../change/expectedSql/tidb/alterSequence.sql | 4 ++ .../expectedSql/tidb/createFunction.sql | 4 ++ .../change/expectedSql/tidb/createPackage.sql | 3 + .../expectedSql/tidb/createPackageBody.sql | 3 + .../expectedSql/tidb/createProcedure.sql | 4 ++ .../tidb/createProcedureFromFile.sql | 4 ++ .../expectedSql/tidb/createSequence.sql | 4 ++ .../change/expectedSql/tidb/createTrigger.sql | 4 ++ .../tidb/disableCheckConstraint.sql | 3 + .../expectedSql/tidb/disableTrigger.sql | 4 ++ .../expectedSql/tidb/dropCheckConstraint.sql | 3 + .../change/expectedSql/tidb/dropFunction.sql | 4 ++ .../change/expectedSql/tidb/dropProcedure.sql | 4 ++ .../change/expectedSql/tidb/dropTrigger.sql | 4 ++ .../tidb/enableCheckConstraint.sql | 3 + .../change/expectedSql/tidb/enableTrigger.sql | 4 ++ .../expectedSql/tidb/renameSequence.sql | 4 ++ .../change/expectedSql/tidb/renameTrigger.sql | 4 ++ src/test/resources/automation-runner.sh | 3 + src/test/resources/docker/docker-compose.yml | 11 ++++ src/test/resources/docker/tidb-init.sql | 59 +++++++++++++++++++ src/test/resources/harness-config.yml | 4 ++ 33 files changed, 257 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml create mode 100644 src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql create mode 100644 src/test/resources/docker/tidb-init.sql diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9de4e8154..79275660f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -97,6 +97,7 @@ on: "db2-luw", "informix-12.10", "informix-14.10" + "tidb" ] jobs: @@ -121,7 +122,7 @@ jobs: "postgres-12","postgres-13","postgres-14","postgres-15","postgres-16","mariadb-10.2","mariadb-10.3","mariadb-10.4","mariadb-10.5","mariadb-10.6", "mariadb-10.7","mssql-2017","H2Database-2.2","crdb-23.1","crdb-23.2","crdb-24.1", "edb-postgres-12","edb-postgres-13","edb-postgres-14","edb-postgres-15","edb-postgres-16", - "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10"]' }} + "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","tidb"]' }} testClasses: ${{ inputs.testClasses || 'LiquibaseHarnessSuiteTest' }} steps: - uses: actions/checkout@v4 diff --git a/src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml new file mode 100644 index 000000000..58f8ee62b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml new file mode 100644 index 000000000..bcebcf492 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml @@ -0,0 +1,14 @@ + + + + + + ALTER TABLE authors COMMENT = '' + + + \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json new file mode 100644 index 000000000..74a44e251 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "1\\!\\{java.lang.Integer\\}", + "name": "booleanColumn", + "nullable": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json new file mode 100644 index 000000000..811489fdc --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "CURRENT_TIMESTAMP\\!\\{liquibase.statement.DatabaseFunction\\}", + "name": "inserted_date", + "nullable": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json new file mode 100644 index 000000000..6c4f8d58b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.View": [ + { + "view": { + "definition": "SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `test`.`authors`", + "name": "test_view" + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json new file mode 100644 index 000000000..5cd3bbd3b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json @@ -0,0 +1,21 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "authors" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "first_name", + "remarks": "A Test Column Remark" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql new file mode 100644 index 000000000..493159401 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- TiDB does not support modifying an existing column to add the AUTO_INCREMENT property \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql new file mode 100644 index 000000000..6d1239c07 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- Bug on Liquibase side: Change Type 'pro:addCheckConstraint' is not allowed for MySQL \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql new file mode 100644 index 000000000..0b3f28ee4 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- Bug on Liquibase side: Database mysql does not support sequences +-- https://docs.pingcap.com/tidb/stable/sql-statement-create-sequence \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql new file mode 100644 index 000000000..fd0a3f4f9 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not yet support the CREATE TABLE ... SELECT syntax +-- https://ask.pingcap.com/t/tidb-create-table-select-is-not-implemented-yet/3085 \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql new file mode 100644 index 000000000..29ab57812 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- Bug on Liquibase side: Liquibase updates Sequence but it does not created on db +-- Also related to addDefaultValueSequenceNext.sql \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql new file mode 100644 index 000000000..ecf14699b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support user-defined functions +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql new file mode 100644 index 000000000..dad457751 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- TiDB does not support package \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql new file mode 100644 index 000000000..e8328e30e --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- TiDB does not support package body \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql new file mode 100644 index 000000000..8654840b9 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support stored procedures. +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql new file mode 100644 index 000000000..5d5afdb56 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support stored procedures +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql new file mode 100644 index 000000000..2a3544784 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- Bug on Liquibase side: Liquibase updates Sequence but it does not created on db +-- Also related to addDefaultValueSequenceNext.sql,alterSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql new file mode 100644 index 000000000..f730d57a3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support triggers +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql new file mode 100644 index 000000000..6d1239c07 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- Bug on Liquibase side: Change Type 'pro:addCheckConstraint' is not allowed for MySQL \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql new file mode 100644 index 000000000..f730d57a3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support triggers +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql new file mode 100644 index 000000000..6d1239c07 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- Bug on Liquibase side: Change Type 'pro:addCheckConstraint' is not allowed for MySQL \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql new file mode 100644 index 000000000..ecf14699b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support user-defined functions +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql new file mode 100644 index 000000000..8654840b9 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support stored procedures. +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql new file mode 100644 index 000000000..f730d57a3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support triggers +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql new file mode 100644 index 000000000..6d1239c07 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql @@ -0,0 +1,3 @@ +INVALID TEST + +-- Bug on Liquibase side: Change Type 'pro:addCheckConstraint' is not allowed for MySQL \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql new file mode 100644 index 000000000..f730d57a3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support triggers +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql new file mode 100644 index 000000000..63ff67564 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support the RENAME SEQUENCE statement directly +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql new file mode 100644 index 000000000..f730d57a3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql @@ -0,0 +1,4 @@ +INVALID TEST + +-- TiDB does not support triggers +-- https://docs.pingcap.com/tidb/stable/mysql-compatibility \ No newline at end of file diff --git a/src/test/resources/automation-runner.sh b/src/test/resources/automation-runner.sh index 2a80ab32e..7e8b28b24 100755 --- a/src/test/resources/automation-runner.sh +++ b/src/test/resources/automation-runner.sh @@ -146,5 +146,8 @@ case $db in "informix-14.10") test_command mvn -ntp -Dtest=$tc -DdbName=informix -DdbVersion=14 test ;; + "tidb") + test_command mvn -ntp -Dtest=$tc -DdbName=tidb test + ;; esac diff --git a/src/test/resources/docker/docker-compose.yml b/src/test/resources/docker/docker-compose.yml index 12bf00e07..347fd31ca 100644 --- a/src/test/resources/docker/docker-compose.yml +++ b/src/test/resources/docker/docker-compose.yml @@ -388,6 +388,17 @@ services: volumes: - "./informix-init.sql:/opt/ibm/config/informix-init.sql" + ti-db: + image: pingcap/tidb + container_name: ti-db + ports: + - 4000:4000 + logging: + driver: none + volumes: + - ./storage/tidb:/var/lib/mysql + - "./tidb-init.sql:/docker-entrypoint-initdb.d/tidb-init.sql" + command: sh -c 'exec /entrypoint.sh tidb-server --store=tikv && mysql -h 127.0.0.1 -P 4000 -u root < /docker-entrypoint-initdb.d/tidb-init.sql' # Titan (https://titan-data.io) is managing these images for our CI/CD process. If you want to run them locally you'll have to # populate init script (hsqldb-init.sql) for this platform manually or install titan and pull image pre-populated with data diff --git a/src/test/resources/docker/tidb-init.sql b/src/test/resources/docker/tidb-init.sql new file mode 100644 index 000000000..ff161dbf1 --- /dev/null +++ b/src/test/resources/docker/tidb-init.sql @@ -0,0 +1,59 @@ +-- Create the 'test' database if it doesn't exist +CREATE DATABASE IF NOT EXISTS `test`; + +-- Switch to the 'test' database +USE `test`; + +-- Drop and recreate the 'authors' table +DROP TABLE IF EXISTS `authors`; +CREATE TABLE `authors` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `first_name` VARCHAR(50) COLLATE utf8_unicode_ci NOT NULL, + `last_name` VARCHAR(50) COLLATE utf8_unicode_ci NOT NULL, + `email` VARCHAR(100) COLLATE utf8_unicode_ci NOT NULL, + `birthdate` DATE NOT NULL, + `added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB + AUTO_INCREMENT=6 + DEFAULT CHARSET=utf8 + COLLATE=utf8_unicode_ci; + +-- Insert sample data into 'authors' +INSERT INTO `authors` +(`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) +VALUES + (1, 'Eileen', 'Lubowitz', 'ppaucek@example.org', '1991-03-04', '2004-05-30 02:08:25'), + (2, 'Tamia', 'Mayert', 'shansen@example.org', '2016-03-27', '2014-03-21 02:52:00'), + (3, 'Cyril', 'Funk', 'reynolds.godfrey@example.com','1988-04-21', '2011-06-24 18:17:48'), + (4, 'Nicolas', 'Buckridge', 'xhoeger@example.net', '2017-02-03', '2019-04-22 02:04:41'), + (5, 'Jayden', 'Walter', 'lillian66@example.com', '2010-02-27', '1990-02-04 02:32:00'); + +-- Drop and recreate the 'posts' table +DROP TABLE IF EXISTS `posts`; +CREATE TABLE `posts` ( + `id` INT(11) NOT NULL, + `author_id` INT(11) NOT NULL, + `title` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL, + `description` VARCHAR(500) COLLATE utf8_unicode_ci NOT NULL, + `content` TEXT COLLATE utf8_unicode_ci NOT NULL, + `inserted_date` DATE +) ENGINE=InnoDB + AUTO_INCREMENT=6 + DEFAULT CHARSET=utf8 + COLLATE=utf8_unicode_ci; + +-- Insert sample data into 'posts' +INSERT INTO `posts` +(`id`, `author_id`, `title`, `description`, `content`, `inserted_date`) +VALUES + (1, 1, 'temporibus', 'voluptatum', + 'Fugit non et doloribus repudiandae.', '2015-11-18'), + (2, 2, 'ea', 'aut', + 'Tempora molestias maiores provident molestiae sint possimus quasi.', '1975-06-08'), + (3, 3, 'illum', 'rerum', + 'Delectus recusandae sit officiis dolor.', '1975-02-25'), + (4, 4, 'itaque', 'deleniti', + 'Magni nam optio id recusandae.', '2010-07-28'), + (5, 5, 'ad', 'similique', + 'Rerum tempore quis ut nesciunt qui excepturi est.', '2006-10-09'); \ No newline at end of file diff --git a/src/test/resources/harness-config.yml b/src/test/resources/harness-config.yml index 3575428bc..d01180662 100644 --- a/src/test/resources/harness-config.yml +++ b/src/test/resources/harness-config.yml @@ -329,3 +329,7 @@ databasesUnderTest: username: informix password: in4mix + - name: tidb + prefix: docker + url: jdbc:mysql://localhost:4000/test + username: root From 9ef1df5a9e7af0d5728906c3830bb5327fc9522d Mon Sep 17 00:00:00 2001 From: Alejandro Alvarez Date: Tue, 21 Jan 2025 10:02:20 +0100 Subject: [PATCH 02/11] =?UTF-8?q?=E2=9C=A8=20(docker-compose.yml):=20add?= =?UTF-8?q?=20TiDB=20and=20MySQL=20client=20services=20for=20enhanced=20da?= =?UTF-8?q?tabase=20support=20=F0=9F=93=9D=20(docker-compose.yml):=20updat?= =?UTF-8?q?e=20quotes=20for=20consistency=20and=20remove=20unnecessary=20b?= =?UTF-8?q?lank=20lines?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/resources/docker/docker-compose.yml | 31 ++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/src/test/resources/docker/docker-compose.yml b/src/test/resources/docker/docker-compose.yml index c2173defd..ef09276b2 100644 --- a/src/test/resources/docker/docker-compose.yml +++ b/src/test/resources/docker/docker-compose.yml @@ -1,7 +1,6 @@ -version: '3.3' +version: "3.3" services: - mysql-5.6: platform: linux/x86_64 image: library/mysql:5.6 @@ -42,7 +41,7 @@ services: MYSQL_USER: lbuser MYSQL_PASSWORD: LiquibasePass1 volumes: - - "./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql" + - "./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql" mysql-8.4: platform: linux/x86_64 @@ -58,7 +57,6 @@ services: volumes: - "./mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql" - percona-xtradb-cluster-5.7: image: percona/percona-xtradb-cluster:5.7 ports: @@ -311,7 +309,7 @@ services: db2-luw: image: taskana/db2:11.5 environment: - LICENSE: 'accept' + LICENSE: "accept" ports: - "50000:50000" @@ -414,6 +412,29 @@ services: volumes: - "./informix-init.sql:/opt/ibm/config/informix-init.sql" + ti-db: + image: pingcap/tidb + container_name: ti-db + ports: + - 4000:4000 + volumes: + - ./storage/tidb:/var/lib/mysql + + ti-db-mysql: + image: mysql:latest + container_name: mysql-client + depends_on: + - ti-db + volumes: + - ./tidb-init.sql:/tidb-init.sql + entrypoint: sh -c " + echo 'Waiting for TiDB to be ready...' && + sleep 5; + echo 'TiDB is ready. Running initialization script...' && + mysql -h ti-db -P 4000 -u root < /tidb-init.sql && + echo 'Initialization complete.' && + tail -f /dev/null" Keeps the container running for interactive use + network_mode: "service:ti-db" # Titan (https://titan-data.io) is managing these images for our CI/CD process. If you want to run them locally you'll have to # populate init script (hsqldb-init.sql) for this platform manually or install titan and pull image pre-populated with data From 3cb5719177d0f205e679b42cb59d163d46f00d99 Mon Sep 17 00:00:00 2001 From: Alejandro Alvarez Date: Tue, 21 Jan 2025 10:15:30 +0100 Subject: [PATCH 03/11] =?UTF-8?q?=E2=9C=A8=20(tidb-init.sql):=20add=20init?= =?UTF-8?q?ial=20SQL=20script=20to=20create=20and=20populate=20'test'=20da?= =?UTF-8?q?tabase=20with=20'authors'=20and=20'posts'=20tables=20to=20facil?= =?UTF-8?q?itate=20testing=20and=20development?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/resources/docker/tidb-init.sql | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/test/resources/docker/tidb-init.sql diff --git a/src/test/resources/docker/tidb-init.sql b/src/test/resources/docker/tidb-init.sql new file mode 100644 index 000000000..cfe7a8768 --- /dev/null +++ b/src/test/resources/docker/tidb-init.sql @@ -0,0 +1,60 @@ +-- Create the 'test' database if it doesn't exist +CREATE DATABASE IF NOT EXISTS `test`; + +-- Switch to the 'test' database +USE `test`; + +-- Drop and recreate the 'authors' table +DROP TABLE IF EXISTS `authors`; +CREATE TABLE `authors` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `first_name` VARCHAR(50) COLLATE utf8_unicode_ci NOT NULL, + `last_name` VARCHAR(50) COLLATE utf8_unicode_ci NOT NULL, + `email` VARCHAR(100) COLLATE utf8_unicode_ci NOT NULL, + `birthdate` DATE NOT NULL, + `added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB + AUTO_INCREMENT=6 + DEFAULT CHARSET=utf8 + COLLATE=utf8_unicode_ci; + +-- Insert sample data into 'authors' +INSERT INTO `authors` +(`id`, `first_name`, `last_name`, `email`, `birthdate`, `added`) +VALUES + (1, 'Eileen', 'Lubowitz', 'ppaucek@example.org', '1991-03-04', '2004-05-30 02:08:25'), + (2, 'Tamia', 'Mayert', 'shansen@example.org', '2016-03-27', '2014-03-21 02:52:00'), + (3, 'Cyril', 'Funk', 'reynolds.godfrey@example.com','1988-04-21', '2011-06-24 18:17:48'), + (4, 'Nicolas', 'Buckridge', 'xhoeger@example.net', '2017-02-03', '2019-04-22 02:04:41'), + (5, 'Jayden', 'Walter', 'lillian66@example.com', '2010-02-27', '1990-02-04 02:32:00'); + +-- Drop and recreate the 'posts' table +DROP TABLE IF EXISTS `posts`; +CREATE TABLE `posts` ( + `id` INT(11) NOT NULL, + `author_id` INT(11) NOT NULL, + `title` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL, + `description` VARCHAR(500) COLLATE utf8_unicode_ci NOT NULL, + `content` TEXT COLLATE utf8_unicode_ci NOT NULL, + `inserted_date` DATE +) ENGINE=InnoDB + AUTO_INCREMENT=6 + DEFAULT CHARSET=utf8 + COLLATE=utf8_unicode_ci; + +-- Insert sample data into 'posts' +INSERT INTO `posts` +(`id`, `author_id`, `title`, `description`, `content`, `inserted_date`) +VALUES + (1, 1, 'temporibus', 'voluptatum', + 'Fugit non et doloribus repudiandae.', '2015-11-18'), + (2, 2, 'ea', 'aut', + 'Tempora molestias maiores provident molestiae sint possimus quasi.', '1975-06-08'), + (3, 3, 'illum', 'rerum', + 'Delectus recusandae sit officiis dolor.', '1975-02-25'), + (4, 4, 'itaque', 'deleniti', + 'Magni nam optio id recusandae.', '2010-07-28'), + (5, 5, 'ad', 'similique', + 'Rerum tempore quis ut nesciunt qui excepturi est.', '2006-10-09'); + \ No newline at end of file From 68ca832ee842442c9ba8edcacf081e6aef7d2336 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Tue, 21 Jan 2025 10:49:01 +0100 Subject: [PATCH 04/11] DAT-19188 testing tidb --- src/test/resources/docker/docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/resources/docker/docker-compose.yml b/src/test/resources/docker/docker-compose.yml index ef09276b2..3ef0b6a52 100644 --- a/src/test/resources/docker/docker-compose.yml +++ b/src/test/resources/docker/docker-compose.yml @@ -412,7 +412,7 @@ services: volumes: - "./informix-init.sql:/opt/ibm/config/informix-init.sql" - ti-db: + ti-db-mysql: image: pingcap/tidb container_name: ti-db ports: @@ -420,11 +420,11 @@ services: volumes: - ./storage/tidb:/var/lib/mysql - ti-db-mysql: + ti-db: image: mysql:latest container_name: mysql-client depends_on: - - ti-db + - ti-db-mysql volumes: - ./tidb-init.sql:/tidb-init.sql entrypoint: sh -c " From 60f2c900efd20557dc956cddfbe3475900793f03 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Tue, 21 Jan 2025 10:54:06 +0100 Subject: [PATCH 05/11] DAT-19188 testing tidb --- .github/workflows/main.yml | 4 ++-- src/test/resources/docker/docker-compose.yml | 6 +++--- src/test/resources/harness-config.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 998284126..d9e882773 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -99,7 +99,7 @@ on: "db2-luw", "informix-12.10", "informix-14.10" - "tidb" + "ti-db-mysql" ] jobs: @@ -124,7 +124,7 @@ jobs: "postgres-12","postgres-13","postgres-14","postgres-15","postgres-16","postgres-17","mariadb-10.2","mariadb-10.3","mariadb-10.4","mariadb-10.5","mariadb-10.6", "mariadb-10.7","mssql-2017","mssql-2019","mssql-2022","H2Database-2.2","crdb-23.1","crdb-23.2","crdb-24.1", "edb-postgres-12","edb-postgres-13","edb-postgres-14","edb-postgres-15","edb-postgres-16", - "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","tidb"]' }} + "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","ti-db-mysql"]' }} testClasses: ${{ inputs.testClasses || 'LiquibaseHarnessSuiteTest' }} steps: - uses: actions/checkout@v4 diff --git a/src/test/resources/docker/docker-compose.yml b/src/test/resources/docker/docker-compose.yml index 3ef0b6a52..ef09276b2 100644 --- a/src/test/resources/docker/docker-compose.yml +++ b/src/test/resources/docker/docker-compose.yml @@ -412,7 +412,7 @@ services: volumes: - "./informix-init.sql:/opt/ibm/config/informix-init.sql" - ti-db-mysql: + ti-db: image: pingcap/tidb container_name: ti-db ports: @@ -420,11 +420,11 @@ services: volumes: - ./storage/tidb:/var/lib/mysql - ti-db: + ti-db-mysql: image: mysql:latest container_name: mysql-client depends_on: - - ti-db-mysql + - ti-db volumes: - ./tidb-init.sql:/tidb-init.sql entrypoint: sh -c " diff --git a/src/test/resources/harness-config.yml b/src/test/resources/harness-config.yml index a22d90a5a..1b1cbf6b0 100644 --- a/src/test/resources/harness-config.yml +++ b/src/test/resources/harness-config.yml @@ -343,7 +343,7 @@ databasesUnderTest: username: informix password: in4mix - - name: tidb + - name: ti-db-mysql prefix: docker url: jdbc:mysql://localhost:4000/test username: root From 2e8404ad3f65733e75d1252dfe33622bbbf2ab03 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Tue, 21 Jan 2025 11:05:35 +0100 Subject: [PATCH 06/11] DAT-19188 fixing tests --- .../change/changelogs/{tidb => ti-db-mysql}/setColumnRemarks.xml | 0 .../change/changelogs/{tidb => ti-db-mysql}/setTableRemarks.xml | 0 .../{tidb => ti-db-mysql}/addDefaultValueBoolean.json | 0 .../{tidb => ti-db-mysql}/addDefaultValueComputed.json | 0 .../change/expectedSnapshot/{tidb => ti-db-mysql}/createView.json | 0 .../expectedSnapshot/{tidb => ti-db-mysql}/setColumnRemarks.json | 0 .../change/expectedSql/{tidb => ti-db-mysql}/addAutoIncrement.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/addCheckConstraint.sql | 0 .../{tidb => ti-db-mysql}/addDefaultValueSequenceNext.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/addLookupTable.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/alterSequence.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/createFunction.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/createPackage.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/createPackageBody.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/createProcedure.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/createProcedureFromFile.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/createSequence.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/createTrigger.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/disableCheckConstraint.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/disableTrigger.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/dropCheckConstraint.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/dropFunction.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/dropProcedure.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/dropTrigger.sql | 0 .../expectedSql/{tidb => ti-db-mysql}/enableCheckConstraint.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/enableTrigger.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/renameSequence.sql | 0 .../change/expectedSql/{tidb => ti-db-mysql}/renameTrigger.sql | 0 28 files changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/liquibase/harness/change/changelogs/{tidb => ti-db-mysql}/setColumnRemarks.xml (100%) rename src/main/resources/liquibase/harness/change/changelogs/{tidb => ti-db-mysql}/setTableRemarks.xml (100%) rename src/main/resources/liquibase/harness/change/expectedSnapshot/{tidb => ti-db-mysql}/addDefaultValueBoolean.json (100%) rename src/main/resources/liquibase/harness/change/expectedSnapshot/{tidb => ti-db-mysql}/addDefaultValueComputed.json (100%) rename src/main/resources/liquibase/harness/change/expectedSnapshot/{tidb => ti-db-mysql}/createView.json (100%) rename src/main/resources/liquibase/harness/change/expectedSnapshot/{tidb => ti-db-mysql}/setColumnRemarks.json (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/addAutoIncrement.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/addCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/addDefaultValueSequenceNext.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/addLookupTable.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/alterSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createFunction.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createPackage.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createPackageBody.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createProcedure.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createProcedureFromFile.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/createTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/disableCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/disableTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/dropCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/dropFunction.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/dropProcedure.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/dropTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/enableCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/enableTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/renameSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{tidb => ti-db-mysql}/renameTrigger.sql (100%) diff --git a/src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setColumnRemarks.xml similarity index 100% rename from src/main/resources/liquibase/harness/change/changelogs/tidb/setColumnRemarks.xml rename to src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setColumnRemarks.xml diff --git a/src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setTableRemarks.xml similarity index 100% rename from src/main/resources/liquibase/harness/change/changelogs/tidb/setTableRemarks.xml rename to src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setTableRemarks.xml diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueBoolean.json similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueBoolean.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueBoolean.json diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueComputed.json similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/addDefaultValueComputed.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueComputed.json diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/createView.json similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/createView.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/createView.json diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/setColumnRemarks.json similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/tidb/setColumnRemarks.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/setColumnRemarks.json diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addAutoIncrement.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/addAutoIncrement.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addAutoIncrement.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/addCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addDefaultValueSequenceNext.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/addDefaultValueSequenceNext.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addDefaultValueSequenceNext.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addLookupTable.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/addLookupTable.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addLookupTable.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/alterSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/alterSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/alterSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createFunction.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createFunction.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createFunction.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackage.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackage.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackage.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackageBody.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createPackageBody.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackageBody.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedure.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedure.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedure.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedureFromFile.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createProcedureFromFile.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedureFromFile.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/createTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/disableCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/disableTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/dropCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropFunction.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/dropFunction.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropFunction.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropProcedure.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/dropProcedure.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropProcedure.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/dropTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/enableCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/enableTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/renameSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/tidb/renameTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameTrigger.sql From 9e6f40862eb08c2357828711a9144671e50df8c7 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Tue, 21 Jan 2025 11:11:16 +0100 Subject: [PATCH 07/11] DAT-19188 fixing tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d9e882773..0ea7795d3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -98,7 +98,7 @@ on: "firebird-4", "db2-luw", "informix-12.10", - "informix-14.10" + "informix-14.10", "ti-db-mysql" ] From 6bf4d4b973d2324c59ea0ab3664d09ea98070188 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Wed, 22 Jan 2025 12:39:15 +0100 Subject: [PATCH 08/11] DAT-19188 adding tidb to advanced tests/Changed config --- .github/workflows/advanced.yml | 4 +- .github/workflows/main.yml | 4 +- .../tidb}/setColumnRemarks.xml | 0 .../tidb}/setTableRemarks.xml | 0 .../mysql/tidb/addAutoIncrement.json | 25 ++ .../mysql/tidb/addCheckConstraint.json | 15 + .../mysql/tidb/addColumn.json | 30 ++ .../mysql/tidb/addDefaultValue.json | 15 + .../tidb}/addDefaultValueBoolean.json | 2 +- .../tidb}/addDefaultValueComputed.json | 2 +- .../mysql/tidb/addDefaultValueDate.json | 15 + .../mysql/tidb/addDefaultValueNumeric.json | 15 + .../tidb/addDefaultValueSequenceNext.json | 18 ++ .../mysql/tidb/addForeignKey.json | 15 + .../mysql/tidb/addLookupTable.json | 29 ++ .../mysql/tidb/addNotNullConstraint.json | 20 ++ .../mysql/tidb/addPrimaryKey.json | 14 + .../mysql/tidb/addUniqueConstraint.json | 18 ++ .../mysql/tidb/alterSequence.json | 20 ++ .../mysql/tidb/createFunction.json | 16 ++ .../mysql/tidb/createIndex.json | 18 ++ .../mysql/tidb/createPackage.json | 15 + .../mysql/tidb/createPackageBody.json | 15 + .../mysql/tidb/createProcedure.json | 13 + .../mysql/tidb/createProcedureFromFile.json | 13 + .../mysql/tidb/createSequence.json | 13 + .../mysql/tidb/createTable.json | 25 ++ .../mysql/tidb/createTableDataTypeText.json | 20 ++ .../mysql/tidb/createTableTimestamp.json | 28 ++ .../mysql/tidb/createTableWithRemarks.json | 29 ++ .../mysql/tidb/createTrigger.json | 16 ++ .../tidb}/createView.json | 2 +- .../mysql/tidb/datatypes.datetime.json | 111 ++++++++ .../mysql/tidb/datatypes.json.json | 23 ++ .../mysql/tidb/datatypes.numeric.json | 173 ++++++++++++ .../mysql/tidb/datatypes.spatial.json | 79 ++++++ .../mysql/tidb/datatypes.string.json | 259 ++++++++++++++++++ .../mysql/tidb/disableCheckConstraint.json | 15 + .../mysql/tidb/disableTrigger.json | 16 ++ .../tidb/dropAllForeignKeyConstraints.json | 19 ++ .../mysql/tidb/dropCheckConstraint.json | 16 ++ .../mysql/tidb/dropColumn.json | 14 + .../mysql/tidb/dropDefaultValue.json | 17 ++ .../mysql/tidb/dropForeignKey.json | 14 + .../mysql/tidb/dropFunction.json | 17 ++ .../mysql/tidb/dropIndex.json | 14 + .../mysql/tidb/dropNotNullConstraint.json | 18 ++ .../mysql/tidb/dropPackageBody.json | 16 ++ .../mysql/tidb/dropPrimaryKey.json | 14 + .../mysql/tidb/dropProcedure.json | 14 + .../mysql/tidb/dropSequence.json | 8 + .../mysql/tidb/dropTable.json | 14 + .../mysql/tidb/dropTrigger.json | 17 ++ .../mysql/tidb/dropUniqueConstraint.json | 12 + .../expectedSnapshot/mysql/tidb/dropView.json | 13 + .../mysql/tidb/enableCheckConstraint.json | 15 + .../mysql/tidb/enableTrigger.json | 17 ++ .../mysql/tidb/executeCommand.json | 3 + .../mysql/tidb/mergeColumns.json | 14 + .../mysql/tidb/modifyDataType.json | 23 ++ .../mysql/tidb/modifySql.json | 25 ++ .../mysql/tidb/renameColumn.json | 17 ++ .../mysql/tidb/renameSequence.json | 13 + .../mysql/tidb/renameTable.json | 25 ++ .../mysql/tidb/renameTrigger.json | 16 ++ .../mysql/tidb/renameView.json | 13 + .../tidb}/setColumnRemarks.json | 2 +- .../tidb/setPrimaryKeyColumnRemarks.json | 21 ++ .../mysql/tidb/setTableRemarks.json | 14 + .../expectedSnapshot/mysql/tidb/sql.json | 20 ++ .../expectedSnapshot/mysql/tidb/sqlFile.json | 20 ++ .../tidb}/addAutoIncrement.sql | 0 .../tidb}/addCheckConstraint.sql | 0 .../tidb}/addDefaultValueSequenceNext.sql | 0 .../tidb}/addLookupTable.sql | 0 .../tidb}/alterSequence.sql | 0 .../tidb}/createFunction.sql | 0 .../tidb}/createPackage.sql | 0 .../tidb}/createPackageBody.sql | 0 .../tidb}/createProcedure.sql | 0 .../tidb}/createProcedureFromFile.sql | 0 .../tidb}/createSequence.sql | 0 .../tidb}/createTrigger.sql | 0 .../tidb}/disableCheckConstraint.sql | 0 .../tidb}/disableTrigger.sql | 0 .../tidb}/dropCheckConstraint.sql | 0 .../tidb}/dropFunction.sql | 0 .../tidb}/dropProcedure.sql | 0 .../tidb}/dropTrigger.sql | 0 .../tidb}/enableCheckConstraint.sql | 0 .../tidb}/enableTrigger.sql | 0 .../tidb}/renameSequence.sql | 0 .../tidb}/renameTrigger.sql | 0 .../mysql/tidb/createFunction.xml | 22 ++ .../mysql/tidb/createTrigger.xml | 22 ++ .../mysql/tidb/addForeignKeyConstraint.sql | 7 + .../expectedSql/mysql/tidb/createFunction.sql | 1 + .../expectedSql/mysql/tidb/createIndex.sql | 3 + .../mysql/tidb/createProcedure.sql | 1 + .../expectedSql/mysql/tidb/createTrigger.sql | 1 + .../expectedSql/mysql/tidb/createView.sql | 1 + .../mysql/tidb/addPrimaryKey.json | 14 + .../mysql/tidb/createIndex.json | 21 ++ .../mysql/tidb/createView.json | 22 ++ .../mysql/tidb/snapshotCatalogAndSchema.json | 20 ++ src/test/resources/automation-runner.sh | 2 +- src/test/resources/docker/docker-compose.yml | 2 +- src/test/resources/harness-config.yml | 26 +- 108 files changed, 1787 insertions(+), 33 deletions(-) rename src/main/resources/liquibase/harness/change/changelogs/{ti-db-mysql => mysql/tidb}/setColumnRemarks.xml (100%) rename src/main/resources/liquibase/harness/change/changelogs/{ti-db-mysql => mysql/tidb}/setTableRemarks.xml (100%) create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addAutoIncrement.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addCheckConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addColumn.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValue.json rename src/main/resources/liquibase/harness/change/expectedSnapshot/{ti-db-mysql => mysql/tidb}/addDefaultValueBoolean.json (78%) rename src/main/resources/liquibase/harness/change/expectedSnapshot/{ti-db-mysql => mysql/tidb}/addDefaultValueComputed.json (69%) create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueDate.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueNumeric.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueSequenceNext.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addForeignKey.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addLookupTable.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addNotNullConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addPrimaryKey.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addUniqueConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/alterSequence.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createFunction.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createIndex.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackage.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackageBody.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedure.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedureFromFile.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createSequence.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTable.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableDataTypeText.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableTimestamp.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableWithRemarks.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTrigger.json rename src/main/resources/liquibase/harness/change/expectedSnapshot/{ti-db-mysql => mysql/tidb}/createView.json (54%) create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.datetime.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.json.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.string.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableCheckConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableTrigger.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropAllForeignKeyConstraints.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropCheckConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropColumn.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropDefaultValue.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropForeignKey.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropFunction.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropIndex.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropNotNullConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPackageBody.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPrimaryKey.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropProcedure.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropSequence.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTable.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTrigger.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropUniqueConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropView.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableCheckConstraint.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableTrigger.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/executeCommand.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/mergeColumns.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifyDataType.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifySql.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameColumn.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameSequence.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTable.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTrigger.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameView.json rename src/main/resources/liquibase/harness/change/expectedSnapshot/{ti-db-mysql => mysql/tidb}/setColumnRemarks.json (90%) create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setPrimaryKeyColumnRemarks.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sql.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sqlFile.json rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/addAutoIncrement.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/addCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/addDefaultValueSequenceNext.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/addLookupTable.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/alterSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createFunction.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createPackage.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createPackageBody.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createProcedure.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createProcedureFromFile.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/createTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/disableCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/disableTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/dropCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/dropFunction.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/dropProcedure.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/dropTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/enableCheckConstraint.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/enableTrigger.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/renameSequence.sql (100%) rename src/main/resources/liquibase/harness/change/expectedSql/{ti-db-mysql => mysql/tidb}/renameTrigger.sql (100%) create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createFunction.xml create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createTrigger.xml create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/addForeignKeyConstraint.sql create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createFunction.sql create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createIndex.sql create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createProcedure.sql create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createTrigger.sql create mode 100644 src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql create mode 100644 src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/addPrimaryKey.json create mode 100644 src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createIndex.json create mode 100644 src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json create mode 100644 src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json diff --git a/.github/workflows/advanced.yml b/.github/workflows/advanced.yml index 71653d647..ff10477b4 100644 --- a/.github/workflows/advanced.yml +++ b/.github/workflows/advanced.yml @@ -28,7 +28,7 @@ on: default: "[\"mysql-5.6\",\"mysql-5.7\",\"mysql-8\",\"mysql-8.4\",\"postgres-12\",\"postgres-13\",\"postgres-14\",\"postgres-15\",\"postgres-16\",\"postgres-17\",\"mariadb-10.2\",\"mariadb-10.3\",\"mariadb-10.4\",\"mariadb-10.5\",\"mariadb-10.6\", \"mariadb-10.7\",\"mssql-2017\",\"mssql-2019\",\"mssql-2022\",\"crdb-23.1\",\"crdb-23.2\",\"crdb-24.1\",\"percona-xtradb-cluster-5.7\",\"percona-xtradb-cluster-8.0\", \"edb-edb-12\",\"edb-edb-13\",\"edb-edb-14\",\"edb-edb-15\",\"edb-edb-16\",\"db2-luw\",\"H2Database-2.2\",\"sqlite\",\"derby\", - \"firebird-3\",\"firebird-4\",\"hsqldb-2.4\",\"hsqldb-2.5\",\"diff\"]" + \"firebird-3\",\"firebird-4\",\"hsqldb-2.4\",\"hsqldb-2.5\",\"diff\",\"tidb\"]" jobs: check_build_safety: @@ -53,7 +53,7 @@ jobs: "postgres-12","postgres-13","postgres-14","postgres-15","postgres-16","postgres-17","mariadb-10.2","mariadb-10.3","mariadb-10.4","mariadb-10.5","mariadb-10.6", "mariadb-10.7","mssql-2017","mssql-2019","mssql-2022","crdb-23.1","crdb-23.2","crdb-24.1","percona-xtradb-cluster-5.7","percona-xtradb-cluster-8.0", "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","db2-luw","H2Database-2.2","sqlite","derby","firebird-3","firebird-4", - "hsqldb-2.4","hsqldb-2.5","diff"]' }} + "hsqldb-2.4","hsqldb-2.5","diff","tidb"]' }} testClasses: ${{ 'AdvancedHarnessSuiteTest' }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0ea7795d3..54bf2bc34 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -99,7 +99,7 @@ on: "db2-luw", "informix-12.10", "informix-14.10", - "ti-db-mysql" + "tidb" ] jobs: @@ -124,7 +124,7 @@ jobs: "postgres-12","postgres-13","postgres-14","postgres-15","postgres-16","postgres-17","mariadb-10.2","mariadb-10.3","mariadb-10.4","mariadb-10.5","mariadb-10.6", "mariadb-10.7","mssql-2017","mssql-2019","mssql-2022","H2Database-2.2","crdb-23.1","crdb-23.2","crdb-24.1", "edb-postgres-12","edb-postgres-13","edb-postgres-14","edb-postgres-15","edb-postgres-16", - "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","ti-db-mysql"]' }} + "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","mysql-ti-db"]' }} testClasses: ${{ inputs.testClasses || 'LiquibaseHarnessSuiteTest' }} steps: - uses: actions/checkout@v4 diff --git a/src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setColumnRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/mysql/tidb/setColumnRemarks.xml similarity index 100% rename from src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setColumnRemarks.xml rename to src/main/resources/liquibase/harness/change/changelogs/mysql/tidb/setColumnRemarks.xml diff --git a/src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setTableRemarks.xml b/src/main/resources/liquibase/harness/change/changelogs/mysql/tidb/setTableRemarks.xml similarity index 100% rename from src/main/resources/liquibase/harness/change/changelogs/ti-db-mysql/setTableRemarks.xml rename to src/main/resources/liquibase/harness/change/changelogs/mysql/tidb/setTableRemarks.xml diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addAutoIncrement.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addAutoIncrement.json new file mode 100644 index 000000000..0fd9625b3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addAutoIncrement.json @@ -0,0 +1,25 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "autoincrement_test" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "autoIncrementInformation": { + "incrementBy": "1\\!\\{java.math.BigInteger\\}", + "startWith": "1\\!\\{java.math.BigInteger\\}" + }, + "name": "intColumn", + "nullable": false + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addCheckConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addCheckConstraint.json new file mode 100644 index 000000000..b3ecf8679 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addCheckConstraint.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint": [ + { + "checkConstraint": { + "body": "((id > 0))", + "disabled": false, + "name": "test_check_constraint" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addColumn.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addColumn.json new file mode 100644 index 000000000..aa891e3eb --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addColumn.json @@ -0,0 +1,30 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "authors" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "varcharColumn" + } + }, + { + "column": { + "name": "intColumn" + } + }, + { + "column": { + "name": "dateColumn" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValue.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValue.json new file mode 100644 index 000000000..1b18ec989 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValue.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "title_test", + "name": "title", + "nullable": false + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueBoolean.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json similarity index 78% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueBoolean.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json index 74a44e251..0f4332b7c 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueBoolean.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json @@ -4,7 +4,7 @@ "liquibase.structure.core.Column": [ { "column": { - "defaultValue": "1\\!\\{java.lang.Integer\\}", + "defaultValue": true, "name": "booleanColumn", "nullable": true } diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueComputed.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueComputed.json similarity index 69% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueComputed.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueComputed.json index 811489fdc..09824c26d 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/addDefaultValueComputed.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueComputed.json @@ -4,7 +4,7 @@ "liquibase.structure.core.Column": [ { "column": { - "defaultValue": "CURRENT_TIMESTAMP\\!\\{liquibase.statement.DatabaseFunction\\}", + "defaultValue": "now\\(\\)\\!\\{liquibase.statement.DatabaseFunction\\}", "name": "inserted_date", "nullable": true } diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueDate.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueDate.json new file mode 100644 index 000000000..3a40c2adb --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueDate.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "2008-02-12T12:34:03\\!\\{java.sql.Timestamp\\}", + "name": "dateTimeColumn", + "nullable": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueNumeric.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueNumeric.json new file mode 100644 index 000000000..54d56b5c3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueNumeric.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "100000000\\!\\{java.math.BigDecimal\\}", + "name": "numericColumn", + "nullable": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueSequenceNext.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueSequenceNext.json new file mode 100644 index 000000000..0f4fa14df --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueSequenceNext.json @@ -0,0 +1,18 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "defaultValue": "nextval\\('test_sequence'::regclass\\)\\!\\{liquibase.statement.DatabaseFunction\\}", + "name": "sequence_referenced_column", + "nullable": true, + "type": { + "typeName": "numeric" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addForeignKey.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addForeignKey.json new file mode 100644 index 000000000..833f30246 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addForeignKey.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.ForeignKey": [ + { + "foreignKey": { + "deferrable": false, + "initiallyDeferred": false, + "name": "fk_posts_authors_test" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addLookupTable.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addLookupTable.json new file mode 100644 index 000000000..0f6c63545 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addLookupTable.json @@ -0,0 +1,29 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "authors_data" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "authors_email" + } + } + ], + "liquibase.structure.core.ForeignKey": [ + { + "foreignKey": { + "deferrable": false, + "initiallyDeferred": false, + "name": "FK_AUTHORS_AUTHORS_DATA" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addNotNullConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addNotNullConstraint.json new file mode 100644 index 000000000..d9d0b3b83 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addNotNullConstraint.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "name": "inserted_date", + "nullable": false, + "type": { + "typeName": "date" + } + } + } + ] + } + } +} + + + diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addPrimaryKey.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addPrimaryKey.json new file mode 100644 index 000000000..302b39e0b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addPrimaryKey.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "posts", + "primaryKey": "liquibase.structure.core.PrimaryKey.*" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addUniqueConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addUniqueConstraint.json new file mode 100644 index 000000000..0b67165b6 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addUniqueConstraint.json @@ -0,0 +1,18 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.UniqueConstraint": [ + { + "uniqueConstraint": { + "clustered": false, + "deferrable": false, + "disabled": false, + "initiallyDeferred": false, + "name": "test_unique_constraint", + "validate": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/alterSequence.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/alterSequence.json new file mode 100644 index 000000000..dde4c9e8b --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/alterSequence.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Sequence": [ + { + "sequence": { + "name": "test_sequence", + "cacheSize": "371717\\!\\{java.math.BigInteger\\}", + "dataType": "integer", + "incrementBy": "10\\!\\{java.math.BigInteger\\}", + "maxValue": "371717\\!\\{java.math.BigInteger\\}", + "minValue": "1\\!\\{java.math.BigInteger\\}", + "startValue": "1\\!\\{java.math.BigInteger\\}", + "willCycle": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createFunction.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createFunction.json new file mode 100644 index 000000000..5a1c53642 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createFunction.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.function.Function": [ + { + "function": { + "body": "CREATE OR REPLACE FUNCTION public.test_function()\n RETURNS trigger\n LANGUAGE plpgsql\nAS $function$\n BEGIN\n RAISE NOTICE 'Test function created';\n RETURN NEW;\n END;\n $function$\n", + "functionName": "test_function", + "name": "test_function()", + "valid": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createIndex.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createIndex.json new file mode 100644 index 000000000..6fbbe3495 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createIndex.json @@ -0,0 +1,18 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Index": [ + { + "index": { + "name": "idx_first_name" + } + }, + { + "index": { + "name": "idx_last_name" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackage.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackage.json new file mode 100644 index 000000000..8bd67ada9 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackage.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.function.Function": [ + { + "function": { + "body": "CREATE OR REPLACE FUNCTION public.test_function()\n RETURNS trigger\n LANGUAGE plpgsql\nAS $function$\n BEGIN\n RAISE NOTICE 'Test function created';\n RETURN NEW;\n END;\n $function$\n", + "functionName": "test_function", + "name": "test_function()", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackageBody.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackageBody.json new file mode 100644 index 000000000..8bd67ada9 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createPackageBody.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.function.Function": [ + { + "function": { + "body": "CREATE OR REPLACE FUNCTION public.test_function()\n RETURNS trigger\n LANGUAGE plpgsql\nAS $function$\n BEGIN\n RAISE NOTICE 'Test function created';\n RETURN NEW;\n END;\n $function$\n", + "functionName": "test_function", + "name": "test_function()", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedure.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedure.json new file mode 100644 index 000000000..c13465718 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedure.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.StoredProcedure": [ + { + "storedProcedure": { + "name": "TEST_PROCEDURE" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedureFromFile.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedureFromFile.json new file mode 100644 index 000000000..c13465718 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createProcedureFromFile.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.StoredProcedure": [ + { + "storedProcedure": { + "name": "TEST_PROCEDURE" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createSequence.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createSequence.json new file mode 100644 index 000000000..f1c16d223 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createSequence.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Sequence": [ + { + "sequence": { + "name": "test_sequence" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTable.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTable.json new file mode 100644 index 000000000..7e9885ba8 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTable.json @@ -0,0 +1,25 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "test_id" + } + }, + { + "column": { + "name": "test_column" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableDataTypeText.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableDataTypeText.json new file mode 100644 index 000000000..e8c648941 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableDataTypeText.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "createTableDataTypeText" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "textCol" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableTimestamp.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableTimestamp.json new file mode 100644 index 000000000..4ed686cf1 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableTimestamp.json @@ -0,0 +1,28 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "lms_create_table_test" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "lms_test_id" + } + }, + { + "column": { + "name": "lms_test_timestamp", + "type": { + "typeName": "timestamp" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableWithRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableWithRemarks.json new file mode 100644 index 000000000..f03c6440c --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTableWithRemarks.json @@ -0,0 +1,29 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table", + "remarks": "Table remarks" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "test_id", + "autoIncrementInformation": { }, + "remarks": "Auto Increment Column" + } + }, + { + "column": { + "name": "test_column", + "remarks": "Normal Column" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTrigger.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTrigger.json new file mode 100644 index 000000000..3f68af5bd --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createTrigger.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.trigger.Trigger": [ + { + "trigger": { + "body": "CREATE TRIGGER test_trigger BEFORE INSERT ON public.posts FOR EACH ROW EXECUTE FUNCTION test_function()", + "disabled": false, + "name": "test_trigger", + "tableName": "posts", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/createView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json similarity index 54% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/createView.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json index 6c4f8d58b..aeae5699b 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/createView.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json @@ -4,7 +4,7 @@ "liquibase.structure.core.View": [ { "view": { - "definition": "SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `test`.`authors`", + "definition": " SELECT authors.id,\n authors.first_name,\n authors.last_name,\n authors.email\n FROM authors;", "name": "test_view" } }] diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.datetime.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.datetime.json new file mode 100644 index 000000000..c7b6590c6 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.datetime.json @@ -0,0 +1,111 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "datatypes.datetime_test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "date", + "type": { + "typeName": "DATE" + } + } + }, + { + "column": { + "name": "datetime", + "type": { + "typeName": "DATETIME" + } + } + }, + { + "column": { + "name": "timestamp", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp0", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp1", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp2", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp3", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp4", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp5", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "timestamp6", + "type": { + "typeName": "TIMESTAMP" + } + } + }, + { + "column": { + "name": "year", + "type": { + "typeName": "YEAR" + } + } + }, + { + "column": { + "name": "time", + "type": { + "typeName": "TIME" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.json.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.json.json new file mode 100644 index 000000000..6196870b0 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.json.json @@ -0,0 +1,23 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "datatypes.json_test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "json", + "type": { + "typeName": "json" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json new file mode 100644 index 000000000..a202f14e6 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json @@ -0,0 +1,173 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "datatypes.numeric_test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "bit", + "type": { + "typeName": "BIT" + } + } + }, + { + "column": { + "name": "bit1", + "type": { + "columnSize": "1\\!\\{java.lang.Integer\\}", + "typeName": "BIT" + } + } + }, + { + "column": { + "name": "bit64", + "type": { + "columnSize": "64\\!\\{java.lang.Integer\\}", + "typeName": "BIT" + } + } + }, + { + "column": { + "name": "tinyint", + "type": { + "typeName": "TINYINT" + } + } + }, + { + "column": { + "name": "tinyint.unsigned", + "type": { + "typeName": "TINYINT UNSIGNED" + } + } + }, + { + "column": { + "name": "bool", + "type": { + "typeName": "BIT" + } + } + }, + { + "column": { + "name": "boolean", + "type": { + "typeName": "BIT" + } + } + }, + { + "column": { + "name": "smallint", + "type": { + "typeName": "SMALLINT" + } + } + }, + { + "column": { + "name": "smallint.unsigned", + "type": { + "typeName": "SMALLINT UNSIGNED" + } + } + }, + { + "column": { + "name": "mediumint", + "type": { + "typeName": "MEDIUMINT" + } + } + }, + { + "column": { + "name": "mediumint.unsigned", + "type": { + "typeName": "MEDIUMINT UNSIGNED" + } + } + }, + { + "column": { + "name": "int", + "type": { + "typeName": "INT" + } + } + }, + { + "column": { + "name": "int.unsigned", + "type": { + "typeName": "INT UNSIGNED" + } + } + }, + { + "column": { + "name": "bigint", + "type": { + "typeName": "BIGINT" + } + } + }, + { + "column": { + "name": "bigint.unsigned", + "type": { + "typeName": "BIGINT UNSIGNED" + } + } + }, + { + "column": { + "name": "decimal", + "type": { + "typeName": "DECIMAL" + } + } + }, + { + "column": { + "name": "decimal.max", + "type": { + "columnSize": "65\\!\\{java.lang.Integer\\}", + "decimalDigits": "30\\!\\{java.lang.Integer\\}", + "typeName": "DECIMAL" + } + } + }, + { + "column": { + "name": "float", + "type": { + "typeName": "FLOAT" + } + } + }, + { + "column": { + "name": "float.10.10", + "type": { + "columnSize": "10\\!\\{java.lang.Integer\\}", + "decimalDigits": "10\\!\\{java.lang.Integer\\}", + "typeName": "FLOAT" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json new file mode 100644 index 000000000..e595f56c2 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json @@ -0,0 +1,79 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "datatypes.spatial_test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "GEOMETRY", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "POINT", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "LINESTRING", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "POLYGON", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "MULTIPOINT", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "MULTILINESTRING", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "MULTIPOLYGON", + "type": { + "typeName": "GEOMETRY" + } + } + }, + { + "column": { + "name": "GEOMETRYCOLLECTION", + "type": { + "typeName": "GEOMETRY" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.string.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.string.json new file mode 100644 index 000000000..33b0bc6f3 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.string.json @@ -0,0 +1,259 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "datatypes.string_test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "char0", + "type": { + "columnSize": "0\\!\\{java.lang.Integer\\}", + "typeName": "CHAR" + } + } + }, + { + "column": { + "name": "char1", + "type": { + "columnSize": "1\\!\\{java.lang.Integer\\}", + "typeName": "CHAR" + } + } + }, + { + "column": { + "name": "char10", + "type": { + "columnSize": "10\\!\\{java.lang.Integer\\}", + "typeName": "CHAR" + } + } + }, + { + "column": { + "name": "char100", + "type": { + "columnSize": "100\\!\\{java.lang.Integer\\}", + "typeName": "CHAR" + } + } + }, + { + "column": { + "name": "varchar0", + "type": { + "columnSize": "0\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "varchar1", + "type": { + "columnSize": "1\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "varchar10", + "type": { + "columnSize": "10\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "varchar100", + "type": { + "columnSize": "100\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "varchar1000", + "type": { + "columnSize": "1000\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "varchar10000", + "type": { + "columnSize": "10000\\!\\{java.lang.Integer\\}", + "typeName": "VARCHAR" + } + } + }, + { + "column": { + "name": "binary0", + "type": { + "columnSize": "0\\!\\{java.lang.Integer\\}", + "typeName": "BINARY" + } + } + }, + { + "column": { + "name": "binary1", + "type": { + "columnSize": "1\\!\\{java.lang.Integer\\}", + "typeName": "BINARY" + } + } + }, + { + "column": { + "name": "binary10", + "type": { + "columnSize": "10\\!\\{java.lang.Integer\\}", + "typeName": "BINARY" + } + } + }, + { + "column": { + "name": "binary100", + "type": { + "columnSize": "100\\!\\{java.lang.Integer\\}", + "typeName": "BINARY" + } + } + }, + { + "column": { + "name": "varbinary0", + "type": { + "columnSize": "0\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "varbinary1", + "type": { + "columnSize": "1\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "varbinary10", + "type": { + "columnSize": "10\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "varbinary100", + "type": { + "columnSize": "100\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "varbinary1000", + "type": { + "columnSize": "1000\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "varbinary10000", + "type": { + "columnSize": "10000\\!\\{java.lang.Integer\\}", + "typeName": "VARBINARY" + } + } + }, + { + "column": { + "name": "tinyblob", + "type": { + "typeName": "TINYBLOB" + } + } + }, + { + "column": { + "name": "blob", + "type": { + "typeName": "BLOB" + } + } + }, + { + "column": { + "name": "mediumblob", + "type": { + "typeName": "MEDIUMBLOB" + } + } + }, + { + "column": { + "name": "longblob", + "type": { + "typeName": "LONGBLOB" + } + } + }, + { + "column": { + "name": "tinytext", + "type": { + "typeName": "TINYTEXT" + } + } + }, + { + "column": { + "name": "text", + "type": { + "typeName": "TEXT" + } + } + }, + { + "column": { + "name": "mediumtext", + "type": { + "typeName": "MEDIUMTEXT" + } + } + }, + { + "column": { + "name": "longtext", + "type": { + "typeName": "LONGTEXT" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableCheckConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableCheckConstraint.json new file mode 100644 index 000000000..cfb37ae23 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableCheckConstraint.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint": [ + { + "checkConstraint": { + "body": "((id > 0))", + "disabled": true, + "name": "test_check_constraint" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableTrigger.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableTrigger.json new file mode 100644 index 000000000..6bb4cd764 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/disableTrigger.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.trigger.Trigger": [ + { + "trigger": { + "body": "CREATE TRIGGER test_trigger BEFORE INSERT ON public.posts FOR EACH ROW EXECUTE FUNCTION test_function()", + "disabled": true, + "name": "test_trigger", + "tableName": "posts", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropAllForeignKeyConstraints.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropAllForeignKeyConstraints.json new file mode 100644 index 000000000..dc164cc50 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropAllForeignKeyConstraints.json @@ -0,0 +1,19 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.ForeignKey": [ + { + "foreignKey": { + "name": "fk_posts_authors_test_1" + } + }, + { + "foreignKey": { + "name": "fk_posts_authors_test_2" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropCheckConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropCheckConstraint.json new file mode 100644 index 000000000..e4e6dbdf6 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropCheckConstraint.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint": [ + { + "checkConstraint": { + "body": "((id > 0))", + "disabled": false, + "name": "test_check_constraint" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropColumn.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropColumn.json new file mode 100644 index 000000000..91f6aa4dc --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropColumn.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.Column": [ + { + "column": { + "name": "varcharColumn" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropDefaultValue.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropDefaultValue.json new file mode 100644 index 000000000..db7067d10 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropDefaultValue.json @@ -0,0 +1,17 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "name": "title", + "nullable": false, + "type": { + "typeName": "varchar" + } + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropForeignKey.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropForeignKey.json new file mode 100644 index 000000000..8ea8b333f --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropForeignKey.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.ForeignKey": [ + { + "foreignKey": { + "name": "fk_posts_authors_test" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropFunction.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropFunction.json new file mode 100644 index 000000000..7ca09aeb7 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropFunction.json @@ -0,0 +1,17 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "com.datical.liquibase.ext.storedlogic.function.Function": [ + { + "function": { + "body": "CREATE OR REPLACE FUNCTION public.test_function()\n RETURNS trigger\n LANGUAGE plpgsql\nAS $function$\n BEGIN\n RAISE NOTICE 'Test function created';\n RETURN NEW;\n END;\n $function$\n", + "functionName": "test_function", + "name": "test_function()", + "valid": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropIndex.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropIndex.json new file mode 100644 index 000000000..7127db0af --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropIndex.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.Index": [ + { + "index": { + "name": "idx_first_name" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropNotNullConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropNotNullConstraint.json new file mode 100644 index 000000000..2f29c8130 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropNotNullConstraint.json @@ -0,0 +1,18 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "name": "inserted_date", + "nullable": true, + "type": { + "typeName": "date" + } + } + } + ] + } + } +} + diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPackageBody.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPackageBody.json new file mode 100644 index 000000000..d22045b51 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPackageBody.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "com.datical.liquibase.ext.storedlogic.function.Function": [ + { + "function": { + "body": "CREATE OR REPLACE FUNCTION public.test_function()\n RETURNS trigger\n LANGUAGE plpgsql\nAS $function$\n BEGIN\n RAISE NOTICE 'Test function created';\n RETURN NEW;\n END;\n $function$\n", + "functionName": "test_function", + "name": "test_function()", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPrimaryKey.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPrimaryKey.json new file mode 100644 index 000000000..54b2302fc --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropPrimaryKey.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.PrimaryKey": [ + { + "primaryKey": { + "name": "pk_posts" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropProcedure.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropProcedure.json new file mode 100644 index 000000000..677c05794 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropProcedure.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.StoredProcedure": [ + { + "storedProcedure": { + "name": "TEST_PROCEDURE" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropSequence.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropSequence.json new file mode 100644 index 000000000..723de990e --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropSequence.json @@ -0,0 +1,8 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.Sequence": [] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTable.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTable.json new file mode 100644 index 000000000..8f007c21a --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTable.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTrigger.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTrigger.json new file mode 100644 index 000000000..0825c8484 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropTrigger.json @@ -0,0 +1,17 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "com.datical.liquibase.ext.storedlogic.trigger.Trigger": [ + { + "trigger": { + "body": "CREATE TRIGGER test_trigger BEFORE INSERT ON public.posts FOR EACH ROW EXECUTE FUNCTION test_function()", + "disabled": false, + "name": "test_trigger", + "tableName": "posts", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropUniqueConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropUniqueConstraint.json new file mode 100644 index 000000000..9dd50182c --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropUniqueConstraint.json @@ -0,0 +1,12 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.UniqueConstraint": [ + { + "name": "test_unique_constraint" + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropView.json new file mode 100644 index 000000000..239fc1175 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/dropView.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "_noMatch": true, + "liquibase.structure.core.View": [ + { + "view": { + "name": "test_view" + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableCheckConstraint.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableCheckConstraint.json new file mode 100644 index 000000000..b3ecf8679 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableCheckConstraint.json @@ -0,0 +1,15 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.checkconstraint.CheckConstraint": [ + { + "checkConstraint": { + "body": "((id > 0))", + "disabled": false, + "name": "test_check_constraint" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableTrigger.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableTrigger.json new file mode 100644 index 000000000..8b0688782 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/enableTrigger.json @@ -0,0 +1,17 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.trigger.Trigger": [ + { + "trigger": { + "body": "CREATE TRIGGER test_trigger BEFORE INSERT ON public.posts FOR EACH ROW EXECUTE FUNCTION test_function()", + "disabled": false, + "name": "test_trigger", + "tableName": "posts", + "valid": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/executeCommand.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/executeCommand.json new file mode 100644 index 000000000..0e0dcd235 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/executeCommand.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/mergeColumns.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/mergeColumns.json new file mode 100644 index 000000000..6873e2c15 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/mergeColumns.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "default_tablespace": false, + "name": "full_name_table" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifyDataType.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifyDataType.json new file mode 100644 index 000000000..cf7e25efb --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifyDataType.json @@ -0,0 +1,23 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "modify_data_type_test" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "intColumn", + "type": { + "typeName": "VARCHAR" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifySql.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifySql.json new file mode 100644 index 000000000..7e9885ba8 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/modifySql.json @@ -0,0 +1,25 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "test_id" + } + }, + { + "column": { + "name": "test_column" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameColumn.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameColumn.json new file mode 100644 index 000000000..5dc8c42ff --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameColumn.json @@ -0,0 +1,17 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Column": [ + { + "column": { + "name": "first_name_renameColumn_test", + "nullable": false, + "type": { + "typeName": "VARCHAR" + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameSequence.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameSequence.json new file mode 100644 index 000000000..d1b4d1315 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameSequence.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Sequence": [ + { + "sequence": { + "name": "test_sequence_rename_test" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTable.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTable.json new file mode 100644 index 000000000..6c94b31b8 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTable.json @@ -0,0 +1,25 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "newnametable" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "test_id" + } + }, + { + "column": { + "name": "test_column" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTrigger.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTrigger.json new file mode 100644 index 000000000..7ff563bba --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameTrigger.json @@ -0,0 +1,16 @@ +{ + "snapshot": { + "objects": { + "com.datical.liquibase.ext.storedlogic.trigger.Trigger": [ + { + "trigger": { + "body": "CREATE TRIGGER test_trigger_renamed BEFORE INSERT ON public.posts FOR EACH ROW EXECUTE FUNCTION test_function()", + "disabled": false, + "name": "test_trigger_renamed", + "tableName": "posts", + "valid": true + } + }] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameView.json new file mode 100644 index 000000000..89f9704c5 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/renameView.json @@ -0,0 +1,13 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.View": [ + { + "view": { + "name": "test_view_new" + } + } + ] + } + } +} diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/setColumnRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json similarity index 90% rename from src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/setColumnRemarks.json rename to src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json index 5cd3bbd3b..2d8406ef8 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/ti-db-mysql/setColumnRemarks.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json @@ -11,7 +11,7 @@ "liquibase.structure.core.Column": [ { "column": { - "name": "first_name", + "name": "id", "remarks": "A Test Column Remark" } } diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setPrimaryKeyColumnRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setPrimaryKeyColumnRemarks.json new file mode 100644 index 000000000..dd6531008 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setPrimaryKeyColumnRemarks.json @@ -0,0 +1,21 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "pk_column", + "remarks": "Internal identifier of test_table" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json new file mode 100644 index 000000000..1352b659a --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "authors", + "remarks": "A Test Remark" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sql.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sql.json new file mode 100644 index 000000000..15f58b9d0 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sql.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "sqltest" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "id" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sqlFile.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sqlFile.json new file mode 100644 index 000000000..15f58b9d0 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/sqlFile.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "sqltest" + } + } + ], + "liquibase.structure.core.Column": [ + { + "column": { + "name": "id" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addAutoIncrement.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addAutoIncrement.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addAutoIncrement.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addAutoIncrement.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addDefaultValueSequenceNext.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addDefaultValueSequenceNext.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addDefaultValueSequenceNext.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addDefaultValueSequenceNext.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addLookupTable.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addLookupTable.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/addLookupTable.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/addLookupTable.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/alterSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/alterSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/alterSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/alterSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createFunction.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createFunction.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createFunction.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackage.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createPackage.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackage.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createPackage.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackageBody.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createPackageBody.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createPackageBody.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createPackageBody.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createProcedure.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedure.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createProcedure.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedureFromFile.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createProcedureFromFile.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createProcedureFromFile.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createProcedureFromFile.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/createTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/createTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/disableCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/disableCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/disableTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/disableTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/disableTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropFunction.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropFunction.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropFunction.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropFunction.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropProcedure.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropProcedure.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropProcedure.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropProcedure.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/dropTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/dropTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableCheckConstraint.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/enableCheckConstraint.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableCheckConstraint.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/enableCheckConstraint.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/enableTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/enableTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/enableTrigger.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameSequence.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/renameSequence.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameSequence.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/renameSequence.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameTrigger.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/renameTrigger.sql similarity index 100% rename from src/main/resources/liquibase/harness/change/expectedSql/ti-db-mysql/renameTrigger.sql rename to src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/renameTrigger.sql diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createFunction.xml b/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createFunction.xml new file mode 100644 index 000000000..eb31f7f60 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createFunction.xml @@ -0,0 +1,22 @@ + + + + CREATE FUNCTION test_function() + RETURNS VARCHAR(20) + BEGIN + RETURN 'Hello'; + END + + + + + + \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createTrigger.xml b/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createTrigger.xml new file mode 100644 index 000000000..6e5dab9a2 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedChangeLog/mysql/tidb/createTrigger.xml @@ -0,0 +1,22 @@ + + + + + CREATE TRIGGER test_trigger BEFORE UPDATE ON posts + FOR EACH ROW BEGIN END; + + + + + + \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/addForeignKeyConstraint.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/addForeignKeyConstraint.sql new file mode 100644 index 000000000..1578569aa --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/addForeignKeyConstraint.sql @@ -0,0 +1,7 @@ +CREATE TABLE test_table_base (id INT NOT NULL, CONSTRAINT PK_TEST_TABLE_BASE PRIMARY KEY (id)); + +CREATE TABLE test_table_reference (id INT NOT NULL, test_column INT NULL, CONSTRAINT PK_TEST_TABLE_REFERENCE PRIMARY KEY (id)); + +CREATE UNIQUE INDEX test_table_reference_index ON test_table_reference(test_column); + +ALTER TABLE test_table_base ADD CONSTRAINT test_fk FOREIGN KEY (id) REFERENCES test_table_reference (test_column) ON UPDATE RESTRICT ON DELETE CASCADE; \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createFunction.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createFunction.sql new file mode 100644 index 000000000..47bbf2b54 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createFunction.sql @@ -0,0 +1 @@ +INVALID TEST \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createIndex.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createIndex.sql new file mode 100644 index 000000000..7959283c8 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createIndex.sql @@ -0,0 +1,3 @@ +CREATE TABLE test_table (id INT NULL); + +CREATE UNIQUE INDEX idx_first_name ON test_table(id); \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createProcedure.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createProcedure.sql new file mode 100644 index 000000000..47bbf2b54 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createProcedure.sql @@ -0,0 +1 @@ +INVALID TEST \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createTrigger.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createTrigger.sql new file mode 100644 index 000000000..47bbf2b54 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createTrigger.sql @@ -0,0 +1 @@ +INVALID TEST \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql new file mode 100644 index 000000000..d8108c3c5 --- /dev/null +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql @@ -0,0 +1 @@ +CREATE VIEW test_view AS SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `test`.`authors`; \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/addPrimaryKey.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/addPrimaryKey.json new file mode 100644 index 000000000..1935c0ee3 --- /dev/null +++ b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/addPrimaryKey.json @@ -0,0 +1,14 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table", + "primaryKey": "liquibase.structure.core.PrimaryKey.*" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createIndex.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createIndex.json new file mode 100644 index 000000000..36768e987 --- /dev/null +++ b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createIndex.json @@ -0,0 +1,21 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "test_table" + } + } + ], + "liquibase.structure.core.Index": [ + { + "index": { + "name": "idx_first_name", + "unique": true + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json new file mode 100644 index 000000000..716110553 --- /dev/null +++ b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json @@ -0,0 +1,22 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Table": [ + { + "table": { + "name": "view_table" + } + } + ], + "liquibase.structure.core.View": [ + { + "view": { + "definition": "SELECT `test_column` AS `test_column` FROM `test`.`view_table`", + "name": "test_view", + "remarks": "VIEW" + } + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json new file mode 100644 index 000000000..8a516f442 --- /dev/null +++ b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json @@ -0,0 +1,20 @@ +{ + "snapshot": { + "objects": { + "liquibase.structure.core.Catalog": [ + { + "catalog": { + "name": "test" + } + } + ], + "liquibase.structure.core.Schema": [ + { + "schema": { + "name": "test" + } + } + ] + } + } +} diff --git a/src/test/resources/automation-runner.sh b/src/test/resources/automation-runner.sh index 80c790273..ae5ac4a2c 100755 --- a/src/test/resources/automation-runner.sh +++ b/src/test/resources/automation-runner.sh @@ -153,7 +153,7 @@ case $db in test_command mvn -ntp -Dtest=$tc -DdbName=informix -DdbVersion=14 test ;; "tidb") - test_command mvn -ntp -Dtest=$tc -DdbName=tidb test + test_command mvn -ntp -Dtest=$tc -DdbName=mysql -DdbVersion=tidb test ;; esac diff --git a/src/test/resources/docker/docker-compose.yml b/src/test/resources/docker/docker-compose.yml index ef09276b2..4e80973aa 100644 --- a/src/test/resources/docker/docker-compose.yml +++ b/src/test/resources/docker/docker-compose.yml @@ -420,7 +420,7 @@ services: volumes: - ./storage/tidb:/var/lib/mysql - ti-db-mysql: + tidb: image: mysql:latest container_name: mysql-client depends_on: diff --git a/src/test/resources/harness-config.yml b/src/test/resources/harness-config.yml index 1b1cbf6b0..080d168ca 100644 --- a/src/test/resources/harness-config.yml +++ b/src/test/resources/harness-config.yml @@ -53,24 +53,9 @@ databasesUnderTest: - name: mysql prefix: docker - version: 5.7 - url: jdbc:mysql://localhost:33062/lbcat - username: lbuser - password: LiquibasePass1 - - - name: mysql - prefix: docker - version: 8 - url: jdbc:mysql://localhost:33061/lbcat - username: lbuser - password: LiquibasePass1 - - - name: mysql - prefix: docker - version: 8.4 - url: jdbc:mysql://localhost:33065/lbcat - username: lbuser - password: LiquibasePass1 + version: tidb + url: jdbc:mysql://localhost:4000/test + username: root - name: percona-xtradb-cluster version: 5.7 @@ -342,8 +327,3 @@ databasesUnderTest: url: jdbc:informix-sqli://localhost:9088/testdb:INFORMIXSERVER=informix; username: informix password: in4mix - - - name: ti-db-mysql - prefix: docker - url: jdbc:mysql://localhost:4000/test - username: root From ddb12879d7e3f3488928a8e014035f6d4177dda3 Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Wed, 22 Jan 2025 12:40:05 +0100 Subject: [PATCH 09/11] DAT-19188 correct data in main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 54bf2bc34..7dc10afaa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -124,7 +124,7 @@ jobs: "postgres-12","postgres-13","postgres-14","postgres-15","postgres-16","postgres-17","mariadb-10.2","mariadb-10.3","mariadb-10.4","mariadb-10.5","mariadb-10.6", "mariadb-10.7","mssql-2017","mssql-2019","mssql-2022","H2Database-2.2","crdb-23.1","crdb-23.2","crdb-24.1", "edb-postgres-12","edb-postgres-13","edb-postgres-14","edb-postgres-15","edb-postgres-16", - "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","mysql-ti-db"]' }} + "edb-edb-12","edb-edb-13","edb-edb-14","edb-edb-15","edb-edb-16","derby","sqlite","hsqldb-2.4","hsqldb-2.5","firebird-3","firebird-4","db2-luw","informix-12.10","informix-14.10","tidb"]' }} testClasses: ${{ inputs.testClasses || 'LiquibaseHarnessSuiteTest' }} steps: - uses: actions/checkout@v4 From 7123a6088bcd5d29b8fb9d3abbbd2123447d443a Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Wed, 22 Jan 2025 13:24:47 +0100 Subject: [PATCH 10/11] DAT-19188 fixing tests --- .../mysql/tidb/addDefaultValueBoolean.json | 2 +- .../mysql/tidb/createView.json | 2 +- .../mysql/tidb/datatypes.numeric.json | 173 ------------------ .../mysql/tidb/datatypes.spatial.json | 79 -------- .../mysql/tidb/setColumnRemarks.json | 2 +- .../mysql/tidb/setTableRemarks.json | 14 -- .../mysql/tidb/datatypes.spatial.sql | 4 + .../mysql/tidb/setColumnRemarks.sql | 1 + src/test/resources/docker/tidb-init.sql | 4 +- src/test/resources/harness-config.yml | 23 ++- 10 files changed, 32 insertions(+), 272 deletions(-) delete mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json delete mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json delete mode 100644 src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/datatypes.spatial.sql create mode 100644 src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/setColumnRemarks.sql diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json index 0f4332b7c..74a44e251 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/addDefaultValueBoolean.json @@ -4,7 +4,7 @@ "liquibase.structure.core.Column": [ { "column": { - "defaultValue": true, + "defaultValue": "1\\!\\{java.lang.Integer\\}", "name": "booleanColumn", "nullable": true } diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json index aeae5699b..1cd5cfa1b 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/createView.json @@ -4,7 +4,7 @@ "liquibase.structure.core.View": [ { "view": { - "definition": " SELECT authors.id,\n authors.first_name,\n authors.last_name,\n authors.email\n FROM authors;", + "definition": "SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `lbcat`.`authors`", "name": "test_view" } }] diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json deleted file mode 100644 index a202f14e6..000000000 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.numeric.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "snapshot": { - "objects": { - "liquibase.structure.core.Table": [ - { - "table": { - "name": "datatypes.numeric_test_table" - } - } - ], - "liquibase.structure.core.Column": [ - { - "column": { - "name": "bit", - "type": { - "typeName": "BIT" - } - } - }, - { - "column": { - "name": "bit1", - "type": { - "columnSize": "1\\!\\{java.lang.Integer\\}", - "typeName": "BIT" - } - } - }, - { - "column": { - "name": "bit64", - "type": { - "columnSize": "64\\!\\{java.lang.Integer\\}", - "typeName": "BIT" - } - } - }, - { - "column": { - "name": "tinyint", - "type": { - "typeName": "TINYINT" - } - } - }, - { - "column": { - "name": "tinyint.unsigned", - "type": { - "typeName": "TINYINT UNSIGNED" - } - } - }, - { - "column": { - "name": "bool", - "type": { - "typeName": "BIT" - } - } - }, - { - "column": { - "name": "boolean", - "type": { - "typeName": "BIT" - } - } - }, - { - "column": { - "name": "smallint", - "type": { - "typeName": "SMALLINT" - } - } - }, - { - "column": { - "name": "smallint.unsigned", - "type": { - "typeName": "SMALLINT UNSIGNED" - } - } - }, - { - "column": { - "name": "mediumint", - "type": { - "typeName": "MEDIUMINT" - } - } - }, - { - "column": { - "name": "mediumint.unsigned", - "type": { - "typeName": "MEDIUMINT UNSIGNED" - } - } - }, - { - "column": { - "name": "int", - "type": { - "typeName": "INT" - } - } - }, - { - "column": { - "name": "int.unsigned", - "type": { - "typeName": "INT UNSIGNED" - } - } - }, - { - "column": { - "name": "bigint", - "type": { - "typeName": "BIGINT" - } - } - }, - { - "column": { - "name": "bigint.unsigned", - "type": { - "typeName": "BIGINT UNSIGNED" - } - } - }, - { - "column": { - "name": "decimal", - "type": { - "typeName": "DECIMAL" - } - } - }, - { - "column": { - "name": "decimal.max", - "type": { - "columnSize": "65\\!\\{java.lang.Integer\\}", - "decimalDigits": "30\\!\\{java.lang.Integer\\}", - "typeName": "DECIMAL" - } - } - }, - { - "column": { - "name": "float", - "type": { - "typeName": "FLOAT" - } - } - }, - { - "column": { - "name": "float.10.10", - "type": { - "columnSize": "10\\!\\{java.lang.Integer\\}", - "decimalDigits": "10\\!\\{java.lang.Integer\\}", - "typeName": "FLOAT" - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json deleted file mode 100644 index e595f56c2..000000000 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/datatypes.spatial.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "snapshot": { - "objects": { - "liquibase.structure.core.Table": [ - { - "table": { - "name": "datatypes.spatial_test_table" - } - } - ], - "liquibase.structure.core.Column": [ - { - "column": { - "name": "GEOMETRY", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "POINT", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "LINESTRING", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "POLYGON", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "MULTIPOINT", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "MULTILINESTRING", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "MULTIPOLYGON", - "type": { - "typeName": "GEOMETRY" - } - } - }, - { - "column": { - "name": "GEOMETRYCOLLECTION", - "type": { - "typeName": "GEOMETRY" - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json index 2d8406ef8..5cd3bbd3b 100644 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json +++ b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setColumnRemarks.json @@ -11,7 +11,7 @@ "liquibase.structure.core.Column": [ { "column": { - "name": "id", + "name": "first_name", "remarks": "A Test Column Remark" } } diff --git a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json b/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json deleted file mode 100644 index 1352b659a..000000000 --- a/src/main/resources/liquibase/harness/change/expectedSnapshot/mysql/tidb/setTableRemarks.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "snapshot": { - "objects": { - "liquibase.structure.core.Table": [ - { - "table": { - "name": "authors", - "remarks": "A Test Remark" - } - } - ] - } - } -} \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/datatypes.spatial.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/datatypes.spatial.sql new file mode 100644 index 000000000..a0407f61e --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/datatypes.spatial.sql @@ -0,0 +1,4 @@ +INVALID TEST + +--TiDB supports most MySQL data types. However, some special types are not supported yet (such as SPATIAL). For the compatibility of data types, see Data Types. + diff --git a/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/setColumnRemarks.sql b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/setColumnRemarks.sql new file mode 100644 index 000000000..6f9b73096 --- /dev/null +++ b/src/main/resources/liquibase/harness/change/expectedSql/mysql/tidb/setColumnRemarks.sql @@ -0,0 +1 @@ +ALTER TABLE lbcat.authors MODIFY COLUMN first_name VARCHAR(50) COMMENT 'A Test Column Remark' \ No newline at end of file diff --git a/src/test/resources/docker/tidb-init.sql b/src/test/resources/docker/tidb-init.sql index cfe7a8768..231a25e39 100644 --- a/src/test/resources/docker/tidb-init.sql +++ b/src/test/resources/docker/tidb-init.sql @@ -1,8 +1,8 @@ -- Create the 'test' database if it doesn't exist -CREATE DATABASE IF NOT EXISTS `test`; +CREATE DATABASE IF NOT EXISTS `lbcat`; -- Switch to the 'test' database -USE `test`; +USE `lbcat`; -- Drop and recreate the 'authors' table DROP TABLE IF EXISTS `authors`; diff --git a/src/test/resources/harness-config.yml b/src/test/resources/harness-config.yml index 080d168ca..6e95818c9 100644 --- a/src/test/resources/harness-config.yml +++ b/src/test/resources/harness-config.yml @@ -51,10 +51,31 @@ databasesUnderTest: username: lbuser password: LiquibasePass1 + - name: mysql + prefix: docker + version: 5.7 + url: jdbc:mysql://localhost:33062/lbcat + username: lbuser + password: LiquibasePass1 + + - name: mysql + prefix: docker + version: 8 + url: jdbc:mysql://localhost:33061/lbcat + username: lbuser + password: LiquibasePass1 + + - name: mysql + prefix: docker + version: 8.4 + url: jdbc:mysql://localhost:33065/lbcat + username: lbuser + password: LiquibasePass1 + - name: mysql prefix: docker version: tidb - url: jdbc:mysql://localhost:4000/test + url: jdbc:mysql://localhost:4000/lbcat username: root - name: percona-xtradb-cluster From 7c143094c1fa72d19e0e900e355e83d77c3ca07d Mon Sep 17 00:00:00 2001 From: Tamelianovych Date: Wed, 22 Jan 2025 13:46:11 +0100 Subject: [PATCH 11/11] DAT-19188 fixing tests --- .../expectedSql/mysql/tidb/createView.sql | 2 +- .../mysql/tidb/createView.json | 2 +- .../mysql/tidb/snapshotCatalogAndSchema.json | 20 ------------------- 3 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json diff --git a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql index d8108c3c5..0ba7ab6ea 100644 --- a/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql +++ b/src/main/resources/liquibase/harness/generateChangelog/expectedSql/mysql/tidb/createView.sql @@ -1 +1 @@ -CREATE VIEW test_view AS SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `test`.`authors`; \ No newline at end of file +CREATE VIEW test_view AS SELECT `id` AS `id`,`first_name` AS `first_name`,`last_name` AS `last_name`,`email` AS `email` FROM `lbcat`.`authors`; \ No newline at end of file diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json index 716110553..6aa62d42b 100644 --- a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json +++ b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/createView.json @@ -11,7 +11,7 @@ "liquibase.structure.core.View": [ { "view": { - "definition": "SELECT `test_column` AS `test_column` FROM `test`.`view_table`", + "definition": "SELECT `test_column` AS `test_column` FROM `lbcat`.`view_table`", "name": "test_view", "remarks": "VIEW" } diff --git a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json b/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json deleted file mode 100644 index 8a516f442..000000000 --- a/src/main/resources/liquibase/harness/snapshot/expectedSnapshot/mysql/tidb/snapshotCatalogAndSchema.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "snapshot": { - "objects": { - "liquibase.structure.core.Catalog": [ - { - "catalog": { - "name": "test" - } - } - ], - "liquibase.structure.core.Schema": [ - { - "schema": { - "name": "test" - } - } - ] - } - } -}