import-legacy-ids-of-booking-items-and-hosting-assets #101

Merged
hsh-michaelhoennig merged 3 commits from import-legacy-ids-of-booking-items-and-hosting-assets into master 2024-09-16 10:00:41 +02:00
3 changed files with 9 additions and 144 deletions
Showing only changes of commit d5396b1128 - Show all commits

View File

@ -1,96 +0,0 @@
--liquibase formatted sql
-- TODO: These changesets are just for the external remote views to simulate the legacy tables.
-- Once we don't need the external remote views anymore, create revert changesets.
-- ============================================================================
--changeset hs-booking-item-MIGRATION-mapping:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
CREATE TABLE hs_booking_item_legacy_id
(
uuid uuid NOT NULL REFERENCES hs_booking_item(uuid),
legacy_id integer NOT NULL
);
--//
-- ============================================================================
--changeset hs-booking-item-MIGRATION-sequence:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
CREATE SEQUENCE IF NOT EXISTS hs_booking_item_legacy_id_seq
AS integer
START 1000000000
OWNED BY hs_booking_item_legacy_id.legacy_id;
--//
-- ============================================================================
--changeset hs-booking-item-MIGRATION-default:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
ALTER TABLE hs_booking_item_legacy_id
ALTER COLUMN legacy_id
SET DEFAULT nextVal('hs_booking_item_legacy_id_seq');
--/
-- ============================================================================
--changeset hs-booking-item-MIGRATION-insert:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
CALL defineContext('schema-migration');
INSERT INTO hs_booking_item_legacy_id(uuid, legacy_id)
SELECT uuid, nextVal('hs_booking_item_legacy_id_seq') FROM hs_booking_item;
--/
-- ============================================================================
--changeset hs-booking-item-MIGRATION-insert-trigger:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
create or replace function insertBookingItemLegacyIdMapping()
returns trigger
language plpgsql
strict as $$
begin
if TG_OP <> 'INSERT' then
raise exception 'invalid usage of trigger';
end if;
INSERT INTO hs_booking_item_legacy_id VALUES
(NEW.uuid, nextVal('hs_booking_item_legacy_id_seq'));
return NEW;
end; $$;
create trigger createBookingItemLegacyIdMapping
after insert on hs_booking_item
for each row
execute procedure insertBookingItemLegacyIdMapping();
--/
-- ============================================================================
--changeset hs-booking-item-MIGRATION-delete-trigger:1 endDelimiter:--//
-- ----------------------------------------------------------------------------
create or replace function deleteBookingItemLegacyIdMapping_tf()
returns trigger
language plpgsql
strict as $$
begin
if TG_OP <> 'DELETE' then
raise exception 'invalid usage of trigger';
end if;
DELETE FROM hs_booking_item_legacy_id
WHERE uuid = OLD.uuid;
return OLD;
end; $$;
create trigger deleteBookingItemLegacyIdMapping_tg
before delete on hs_booking_item
for each row
execute procedure deleteBookingItemLegacyIdMapping_tf();
--/

View File

@ -145,8 +145,6 @@ databaseChangeLog:
file: db/changelog/6-hs-booking/630-booking-item/6300-hs-booking-item.sql
- include:
file: db/changelog/6-hs-booking/630-booking-item/6203-hs-booking-item-rbac.sql
- include:
file: db/changelog/6-hs-booking/630-booking-item/6306-hs-booking-item-migration.sql
- include:
file: db/changelog/6-hs-booking/630-booking-item/6308-hs-booking-item-test-data.sql
- include:

View File

@ -758,36 +758,9 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
jpaAttempt.transacted(() -> {
context(rbacSuperuser);
bookingItems.forEach(this::persistRecursively);
updateLegacyIds(contacts, "hs_booking_item_legacy_id", "legacy_id");
}).assertSuccessful();
}
@Test
@Order(19019)
void verifyBookingItemLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchBookingItemLegacyIds()).isEqualTo("""
1000000021
1000000022
1000000023
1000000024
1000000025
1000000026
1000000027
1000000028
1000000029
1000000030
1000000031
1000000032
1000000033
1000000034
1000000035
1000000036
1000000037
1000000038
""".trim());
}
@Test
@Order(19120)
@Commit
@ -967,7 +940,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19930)
void verifyCloudServerLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(CLOUD_SERVER)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(CLOUD_SERVER)).isEqualTo("""
23611
""".trim());
assertThat(missingHostingAsstLegacyIds(CLOUD_SERVER)).isEmpty();
@ -977,7 +950,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19931)
void verifyManagedServerLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(MANAGED_SERVER)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(MANAGED_SERVER)).isEqualTo("""
10968
10978
11061
@ -990,7 +963,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19932)
void verifyManagedWebspaceLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(MANAGED_WEBSPACE)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(MANAGED_WEBSPACE)).isEqualTo("""
10630
11094
11111
@ -1004,7 +977,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19933)
void verifyUnixUserLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(UNIX_USER)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(UNIX_USER)).isEqualTo("""
5803
5805
5809
@ -1028,7 +1001,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19934)
void verifyPgSqlDbLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(PGSQL_DATABASE)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(PGSQL_DATABASE)).isEqualTo("""
1077
1858
1860
@ -1045,7 +1018,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19934)
void verifyPgSqlUserLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(PGSQL_USER)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(PGSQL_USER)).isEqualTo("""
1857
1859
1860
@ -1061,7 +1034,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19935)
void verifyMariaDbLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(MARIADB_DATABASE)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(MARIADB_DATABASE)).isEqualTo("""
1786
1805
4908
@ -1078,7 +1051,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
@Order(19936)
void verifyMariaDbUserLegacyIds() {
assumeThatWeAreImportingControlledTestData();
assertThat(fetchHosingAsetLegacyIds(MARIADB_USER)).isEqualTo("""
assertThat(fetchHosingAssetLegacyIds(MARIADB_USER)).isEqualTo("""
1858
4908
4909
@ -1918,17 +1891,7 @@ public class ImportHostingAssets extends BaseOfficeDataImport {
assumeThat(isImportingControlledTestData()).isTrue();
}
private String fetchBookingItemLegacyIds() {
return ((List<List<?>>) em.createNativeQuery(
"""
SELECT * FROM hs_booking_item_legacy_id
WHERE legacy_id IS NOT NULL
ORDER BY legacy_id
""",
List.class).getResultList()).stream().map(row -> row.get(1).toString()).collect(joining("\n"));
}
private String fetchHosingAsetLegacyIds(final HsHostingAssetType type) {
private String fetchHosingAssetLegacyIds(final HsHostingAssetType type) {
//noinspection unchecked
return ((List<List<?>>) em.createNativeQuery(
"""