From b122cb97d58e617a0ce67752607f690fb0dae1ab Mon Sep 17 00:00:00 2001 From: pb Date: Wed, 8 Feb 2012 01:37:13 +0000 Subject: [PATCH] =?UTF-8?q?Update=20Skript=20zu=20r1489=20(content-center?= =?UTF-8?q?=20legacy=20free),=20Versionsnummer=20ccm-cms=20erh=C3=B6ht.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1496 8810af33-2d31-482b-a856-94f89814c4df --- ccm-cms/application.xml | 2 +- .../6.6.5-6.6.6/remove_legacy_entries.sql | 131 ++++++++++++++++++ .../ccm-cms/upgrade/oracle-se-6.6.5-6.6.6.sql | 23 +++ .../ccm-cms/upgrade/postgres-6.6.5-6.6.6.sql | 28 ++++ ccm-cms/src/ccm-cms.upgrade | 4 + ccm-cms/src/com/arsdigita/cms/Loader.java | 39 +++--- environment/local.ccm.properties | 24 +++- 7 files changed, 225 insertions(+), 26 deletions(-) create mode 100644 ccm-cms/sql/ccm-cms/default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql create mode 100644 ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.5-6.6.6.sql create mode 100644 ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.5-6.6.6.sql diff --git a/ccm-cms/application.xml b/ccm-cms/application.xml index ed9567b32..1fa16bbb5 100755 --- a/ccm-cms/application.xml +++ b/ccm-cms/application.xml @@ -2,7 +2,7 @@ diff --git a/ccm-cms/sql/ccm-cms/default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql new file mode 100644 index 000000000..2dd545302 --- /dev/null +++ b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql @@ -0,0 +1,131 @@ +-- +-- Copyright (C) 2011 Peter Boy. All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $Id: remove_legacy_entries.sql $ + +-- ccm-cms ContentSection is now initialized as a legacy free type of +-- application so entries in tables apm_package_types are no longer needed. + + +-- in case there may be several application instances! + +-- delete from object_context all entries referring to node_id in site_nodes +delete from object_context + where object_id in + (select node_id from site_nodes object_id where object_id in + ( select package_id from applications where application_type_id = + (select application_type_id from application_types + where object_type + like '%cms.ContentSection%') + ) + ); + +-- delete from acs_objects all entries referring to node_id in site_nodes +alter table site_nodes drop constraint site_nodes_node_id_f_n1m2y ; +delete from acs_objects + where object_id in + (select node_id from site_nodes where object_id in + ( select package_id from applications where application_type_id = + (select application_type_id from application_types + where object_type + like '%cms.ContentSection%') + ) + ); + +-- delete all entries in site_nodes referring to a ContentSection instance +delete from site_nodes + where object_id in + (select package_id from applications where application_type_id = + (select application_type_id from application_types + where object_type + like '%cms.ContentSection%') + ); +alter table site_nodes add constraint site_nodes_node_id_f_n1m2y + FOREIGN KEY (node_id) + REFERENCES acs_objects (object_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION ; + + + +-- delete from object_context all entries referring to package_id in apm_packages +delete from object_context + where object_id in + (select package_id from apm_packages where package_type_id = + (select package_type_id from application_types + where object_type + like '%cms.ContentSection%') + ); + +-- delete from acs_objects all entries referring to package_id in apm_packages +alter table apm_packages drop constraint apm_package_package_id_f_46may ; +alter table applications drop constraint application_package_id_f_cdaho ; +delete from acs_objects + where object_id in + (select package_id from apm_packages where package_type_id = + (select package_type_id from application_types + where object_type + like '%cms.ContentSection%') + ); + +-- delete all entries for ContentSection instances in apm_packages +-- identified by package_type_id in application_types +delete from apm_packages + where package_type_id = + (select package_type_id from application_types + where object_type + like '%cms.ContentSection%') ; + +-- there seem to be no intries for a apm_packages_types entry (row) in +-- acs_objects or object_context! + +-- delete all entries for subsite in apm_package_types identified by +-- package_type_id in application_types +alter table application_types drop constraint applica_typ_pac_typ_id_f_v80ma ; +delete from apm_package_types + where package_type_id = + (select package_type_id from application_types + where object_type + like '%cms.ContentSection%') ; + + +-- set package_id to null for all entries referring to a ContentSection instance +-- (indicating a new legacy free application) +update applications + set package_id = null + where application_type_id = + (select application_type_id from application_types + where object_type + like '%cms.ContentSection%') ; + +-- set package_id to null for all entries referring to a ContentSection instance +-- (indicating a new legacy free application) +update application_types + set package_type_id = null + where object_type like '%cms.ContentSection%' ; + +alter table application_types add constraint applica_typ_pac_typ_id_f_v80ma + FOREIGN KEY (package_type_id) + REFERENCES apm_package_types (package_type_id) + MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ; +alter table applications add constraint application_package_id_f_cdaho + FOREIGN KEY (package_id) + REFERENCES apm_packages (package_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION ; +alter table apm_packages add constraint apm_package_package_id_f_46may + FOREIGN KEY (package_id) + REFERENCES acs_objects (object_id) MATCH SIMPLE + ON UPDATE NO ACTION ON DELETE NO ACTION ; diff --git a/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.5-6.6.6.sql b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.5-6.6.6.sql new file mode 100644 index 000000000..9abcf9343 --- /dev/null +++ b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.5-6.6.6.sql @@ -0,0 +1,23 @@ +-- +-- Copyright (C) 2011 Peter Boy All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $Id: oracle-se-6.6.5-6.6.6.sql 2012-02-08 15:10:39Z pboy $ + +-- Update: content-section now loaded as legacy free application +PROMPT Red Hat Enterprise CMS 6.6.5 -> 6.6.6 Upgrade Script (Oracle) + +@@ ../default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql diff --git a/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.5-6.6.6.sql b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.5-6.6.6.sql new file mode 100644 index 000000000..b0b7d43a4 --- /dev/null +++ b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.5-6.6.6.sql @@ -0,0 +1,28 @@ +-- +-- Copyright (C) 2011 Peter Boy All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $DateTime: 2011/09/06 23:15:09 $ +-- $Id: postgres-6.6.5-6.6.6.sql 2012-02-08 15:10:39Z pboy $ + +-- Update: content-section now loaded as legacy free application +\echo Red Hat Enterprise CMS 6.6.5 -> 6.6.6 Upgrade Script (PostgreSQL) + +begin; + +\i ../default/upgrade/6.6.5-6.6.6/remove_legacy_entries.sql + +commit; diff --git a/ccm-cms/src/ccm-cms.upgrade b/ccm-cms/src/ccm-cms.upgrade index 117bede6e..0c823dc1e 100755 --- a/ccm-cms/src/ccm-cms.upgrade +++ b/ccm-cms/src/ccm-cms.upgrade @@ -53,4 +53,8 @@