diff --git a/service-db/src/main/resources/sql/versions/NXCALS-7195/NXCALS-7195-add-nn-constraints-to-changelogs.xml b/service-db/src/main/resources/sql/versions/NXCALS-7195/NXCALS-7195-add-nn-constraints-to-changelogs.xml new file mode 100644 index 0000000000000000000000000000000000000000..ff703c3f313d11cf75ea79306887611e217138bb --- /dev/null +++ b/service-db/src/main/resources/sql/versions/NXCALS-7195/NXCALS-7195-add-nn-constraints-to-changelogs.xml @@ -0,0 +1,163 @@ +<databaseChangeLog + xmlns="http://www.liquibase.org/xml/ns/dbchangelog" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog + http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> + + <changeSet author="psowinsk" id="NXCALS-7195-add-nn-constraints-to-changelogs"> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'ENTITIES_CHANGELOG' + and column_name = 'ENTITY_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'ENTITIES_HIST_CHANGELOG' + and column_name = 'ENTITY_HIST_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'HIERARCHIES_CHANGELOG' + and column_name = 'HIERARCHY_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'PARTITION_RESOURCE_HISTS_CHANGELOG' + and column_name = 'PARTITION_RESOURCE_HIST_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + where table_name = 'PARTITION_RESOURCES_CHANGELOG' + and column_name = 'PARTITION_RESOURCE_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'PARTITIONS_CHANGELOG' + and column_name = 'PARTITION_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'SCHEMAS_CHANGELOG' + and column_name = 'SCHEMA_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'VARIABLE_CONFIGS_CHANGELOG' + and column_name = 'VARIABLE_CONFIG_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name = 'VARIABLES_CHANGELOG' + and column_name = 'VARIABLE_ID' + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + <sql endDelimiter="#"> + DECLARE + CURSOR cursor_columns IS + SELECT table_name, column_name + FROM user_tab_columns + WHERE table_name in ('ENTITIES_CHANGELOG', 'ENTITIES_HIST_CHANGELOG', 'GROUP_ENTITIES_CHANGELOG', + 'GROUP_PROPERTIES_CHANGELOG', 'GROUP_VARIABLES_CHANGELOG', 'GROUPS_CHANGELOG', + 'HIERARCHIES_CHANGELOG', 'PARTITION_RESOURCE_HISTS_CHANGELOG', + 'PARTITION_RESOURCES_CHANGELOG', 'PARTITIONS_CHANGELOG', 'SCHEMAS_CHANGELOG', + 'VARIABLE_CONFIGS_CHANGELOG', 'VARIABLES_CHANGELOG') + and column_name in ('CREATE_TIME_UTC', 'OP_TYPE', 'TRANSACTION_ID', 'MODULE', 'CLIENT_INFO') + and nullable ='Y'; + BEGIN + FOR rec IN cursor_columns LOOP + EXECUTE IMMEDIATE 'ALTER TABLE ' || rec.table_name || ' MODIFY (' || rec.column_name || ' NOT NULL)'; + END LOOP; + END; + + </sql> + </changeSet> +</databaseChangeLog> diff --git a/service-db/src/main/resources/sql/versions/all-versions-changelog.xml b/service-db/src/main/resources/sql/versions/all-versions-changelog.xml index 9f906c29ad0cd5927af274ed29578684ced6b646..d1e8894ff1ebb9920e44ba515988a5993cc46180 100644 --- a/service-db/src/main/resources/sql/versions/all-versions-changelog.xml +++ b/service-db/src/main/resources/sql/versions/all-versions-changelog.xml @@ -77,5 +77,6 @@ <include file="NXCALS-6531/NXCALS-6531-remove-security-tables.xml" relativeToChangelogFile="true"/> <include file="NXCALS-6750/NXCALS-6750-unique-on-partition-resource-hists.xml" relativeToChangelogFile="true"/> <include file="NXCALS-7513/NXCALS-7513-create-index-on-entities-key-values.xml" relativeToChangelogFile="true"/> + <include file="NXCALS-7195/NXCALS-7195-add-nn-constraints-to-changelogs.xml" relativeToChangelogFile="true"/> </databaseChangeLog>