From f0ececa3b554a128c98bb304b9efa25208131a17 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Mon, 30 Jan 2023 19:58:21 +0100 Subject: [PATCH] Fix primary key for localized string tables --- .../java/org/librecms/contenttypes/News.java | 16 +++-- ...primary_key_of_localized_string_tables.sql | 71 +++++++++++++++++++ ...primary_key_of_localized_string_tables.sql | 71 +++++++++++++++++++ .../java/org/libreccm/workflow/Workflow.java | 12 ++-- 4 files changed, 159 insertions(+), 11 deletions(-) create mode 100644 ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/h2/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql create mode 100644 ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/pgsql/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql diff --git a/ccm-cms/src/main/java/org/librecms/contenttypes/News.java b/ccm-cms/src/main/java/org/librecms/contenttypes/News.java index 2aa842678..d46a26a59 100644 --- a/ccm-cms/src/main/java/org/librecms/contenttypes/News.java +++ b/ccm-cms/src/main/java/org/librecms/contenttypes/News.java @@ -18,7 +18,6 @@ */ package org.librecms.contenttypes; - import org.hibernate.envers.Audited; import org.libreccm.l10n.LocalizedString; import org.librecms.contentsection.ContentItem; @@ -70,11 +69,14 @@ public class News extends ContentItem implements Serializable { @Embedded @AssociationOverride( name = "values", - joinTable = @JoinTable(name = "NEWS_TEXTS", - schema = DB_SCHEMA, - joinColumns = { - @JoinColumn(name = "OBJECT_ID")} - )) + joinTable = @JoinTable( + name = "NEWS_TEXTS", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "OBJECT_ID") + } + ) + ) private LocalizedString text; /** @@ -96,7 +98,7 @@ public class News extends ContentItem implements Serializable { super(); text = new LocalizedString(); } - + public LocalizedString getText() { return text; } diff --git a/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/h2/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql b/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/h2/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql new file mode 100644 index 000000000..8cc5b6251 --- /dev/null +++ b/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/h2/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql @@ -0,0 +1,71 @@ +alter table ccm_cms.binary_asset_descriptions_aud + drop constraint binary_asset_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.bookmark_descriptions_aud + drop constraint bookmark_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.contact_entry_key_labels_aud + drop constraint contact_entry_key_labels_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.legal_metadata_rights_aud + drop constraint legal_metadata_rights_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.side_note_texts_aud + drop constraint side_note_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.asset_titles_aud + drop constraint asset_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.attachment_list_captions_aud + drop constraint attachment_list_captions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.attachment_list_descriptions_aud + drop constraint attachment_list_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_names_aud + drop constraint content_item_names_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_titles_aud + drop constraint content_item_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_descriptions_aud + drop constraint content_item_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.article_texts_aud + drop constraint mpa_article_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.event_texts_aud + drop constraint mpa_event_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.event_dates_aud + drop constraint mpa_event_dates_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_summaries_aud + drop constraint mpa_summaries_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_section_titles_aud + drop constraint mpa_section_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_section_text_aud + drop constraint mpa_section_text_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.news_texts_aud + drop constraint news_texts_aud_pkey, + add primary key (rev, object_id, locale); diff --git a/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/pgsql/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql b/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/pgsql/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql new file mode 100644 index 000000000..8cc5b6251 --- /dev/null +++ b/ccm-cms/src/main/resources/db/migrations/org/librecms/ccm_cms/pgsql/V7_0_0_37__remove_localized_value_from_primary_key_of_localized_string_tables.sql @@ -0,0 +1,71 @@ +alter table ccm_cms.binary_asset_descriptions_aud + drop constraint binary_asset_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.bookmark_descriptions_aud + drop constraint bookmark_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.contact_entry_key_labels_aud + drop constraint contact_entry_key_labels_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.legal_metadata_rights_aud + drop constraint legal_metadata_rights_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.side_note_texts_aud + drop constraint side_note_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.asset_titles_aud + drop constraint asset_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.attachment_list_captions_aud + drop constraint attachment_list_captions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.attachment_list_descriptions_aud + drop constraint attachment_list_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_names_aud + drop constraint content_item_names_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_titles_aud + drop constraint content_item_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.content_item_descriptions_aud + drop constraint content_item_descriptions_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.article_texts_aud + drop constraint mpa_article_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.event_texts_aud + drop constraint mpa_event_texts_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.event_dates_aud + drop constraint mpa_event_dates_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_summaries_aud + drop constraint mpa_summaries_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_section_titles_aud + drop constraint mpa_section_titles_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.mpa_section_text_aud + drop constraint mpa_section_text_aud_pkey, + add primary key (rev, object_id, locale); + +alter table ccm_cms.news_texts_aud + drop constraint news_texts_aud_pkey, + add primary key (rev, object_id, locale); diff --git a/ccm-core/src/main/java/org/libreccm/workflow/Workflow.java b/ccm-core/src/main/java/org/libreccm/workflow/Workflow.java index 1cd6253d2..94e90b42e 100644 --- a/ccm-core/src/main/java/org/libreccm/workflow/Workflow.java +++ b/ccm-core/src/main/java/org/libreccm/workflow/Workflow.java @@ -121,10 +121,14 @@ public class Workflow implements Identifiable, Serializable, Exportable { @Embedded @AssociationOverride( name = "values", - joinTable = @JoinTable(name = "WORKFLOW_NAMES", - schema = DB_SCHEMA, - joinColumns = { - @JoinColumn(name = "WORKFLOW_ID")})) + joinTable = @JoinTable( + name = "WORKFLOW_NAMES", + schema = DB_SCHEMA, + joinColumns = { + @JoinColumn(name = "WORKFLOW_ID") + } + ) + ) private LocalizedString name = new LocalizedString(); /**