From a22561defae43f6d551c60e902d234f2e87c799d Mon Sep 17 00:00:00 2001 From: pb Date: Mon, 13 Feb 2012 00:56:07 +0000 Subject: [PATCH] ccm-ldn-terms jetzt legacy free, Update included. git-svn-id: https://svn.libreccm.org/ccm/trunk@1506 8810af33-2d31-482b-a856-94f89814c4df --- ccm-ldn-terms/application.xml | 9 +- .../6.6.1-6.6.2/remove_legacy_entries.sql | 131 ++++++++++++++++++ .../upgrade/oracle-se-6.6.1-6.6.2.sql | 23 +++ .../upgrade/postgres-6.6.0-6.6.1.sql | 3 + .../upgrade/postgres-6.6.1-6.6.2.sql | 27 ++++ ccm-ldn-terms/src/ccm-ldn-terms.upgrade | 3 + .../com/arsdigita/london/terms/Loader.java | 18 ++- 7 files changed, 206 insertions(+), 8 deletions(-) create mode 100644 ccm-ldn-terms/sql/ccm-ldn-terms/default/upgrade/6.6.1-6.6.2/remove_legacy_entries.sql create mode 100644 ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/oracle-se-6.6.1-6.6.2.sql create mode 100644 ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.1-6.6.2.sql diff --git a/ccm-ldn-terms/application.xml b/ccm-ldn-terms/application.xml index 6bc9557f3..0bd99893f 100755 --- a/ccm-ldn-terms/application.xml +++ b/ccm-ldn-terms/application.xml @@ -2,7 +2,7 @@ @@ -15,7 +15,10 @@ - The Red Hat Web Application Framework is a platform for writing - database-backed web applications in Java. + Package ccm-ldn-terms creates and maintains domain based categories. One + domain is specifically used by ccm-navigation to create a navigation menue + for the site. + + It replaces the "purpose" based categorization of ccm-core. diff --git a/ccm-ldn-terms/sql/ccm-ldn-terms/default/upgrade/6.6.1-6.6.2/remove_legacy_entries.sql b/ccm-ldn-terms/sql/ccm-ldn-terms/default/upgrade/6.6.1-6.6.2/remove_legacy_entries.sql new file mode 100644 index 000000000..f364587b3 --- /dev/null +++ b/ccm-ldn-terms/sql/ccm-ldn-terms/default/upgrade/6.6.1-6.6.2/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-ldn-terms 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 '%terms.Terms%') + ) + ); + +-- 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 '%terms.Terms%') + ) + ); + +-- delete all entries in site_nodes referring to a Terms 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 '%terms.Terms%') + ); +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 '%terms.Terms%') + ); + +-- 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 '%terms.Terms%') + ); + +-- delete all entries for Terms 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 '%terms.Terms%') ; + +-- 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 '%terms.Terms%') ; + + +-- 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 '%terms.Terms%') ; + +-- set package_id to null for all entries referring to a Terms instance +-- (indicating a new legacy free application) +update application_types + set package_type_id = null + where object_type like '%terms.Terms%' ; + +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-ldn-terms/sql/ccm-ldn-terms/upgrade/oracle-se-6.6.1-6.6.2.sql b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/oracle-se-6.6.1-6.6.2.sql new file mode 100644 index 000000000..02b3f9d6c --- /dev/null +++ b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/oracle-se-6.6.1-6.6.2.sql @@ -0,0 +1,23 @@ +-- +-- Copyright (C) 2008 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.1-6.6.2.sql 293 2012-02-07 15:10:39Z pboy $ + +PROMPT Red Hat Enterprise TERMS 6.6.1 -> 6.6.2 Upgrade Script (Oracle) + +-- Terms now initialized legacy free +@@ ../default/upgrade/6.6.1-6.6.2/remove_legacy_entries.sql diff --git a/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.0-6.6.1.sql b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.0-6.6.1.sql index 6c9a88d1f..28889e8a9 100644 --- a/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.0-6.6.1.sql +++ b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.0-6.6.1.sql @@ -21,6 +21,9 @@ begin; +-- Under unknown circumstances a constraint may get lost during updating. +-- Only needed under special conditions or when a missing constraint causes +-- errors. \i ../default/upgrade/6.6.0-6.6.1/upd_constraints.sql commit; diff --git a/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.1-6.6.2.sql b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.1-6.6.2.sql new file mode 100644 index 000000000..e9e35f06c --- /dev/null +++ b/ccm-ldn-terms/sql/ccm-ldn-terms/upgrade/postgres-6.6.1-6.6.2.sql @@ -0,0 +1,27 @@ +-- +-- Copyright (C) 2008 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: 2012/02/10 23:15:09 $ + +\echo Red Hat Enterprise TERMS 6.6.1 -> 6.6.2 Upgrade Script (PostgreSQL) + +begin; + +-- Terms now initialized legacy free +\i ../default/upgrade/6.6.1-6.6.2/remove_legacy_entries.sql + +commit; diff --git a/ccm-ldn-terms/src/ccm-ldn-terms.upgrade b/ccm-ldn-terms/src/ccm-ldn-terms.upgrade index 1ae84ccb5..ee0e13897 100755 --- a/ccm-ldn-terms/src/ccm-ldn-terms.upgrade +++ b/ccm-ldn-terms/src/ccm-ldn-terms.upgrade @@ -18,4 +18,7 @@