0byt3m1n1
Path:
/
data
/
applications
/
aps
/
typo3
/
12.4.7
/
scripts
/
[
Home
]
File: upgrade_typo_vux.pl
#!/usr/bin/perl -w use strict; use DBI; use POSIX; use lib '/prov_control/scripts/prov/report/iqdb'; use Util; sub do_error(@); my ($version) = @ARGV; if (not defined $version) { die "Usage: $0 [version]\n"; } my $insAppVerStr = " INSERT INTO FEATURE.HTTP_APP_VERSION(HTTP_APP_TYPE_ID, APP_VERSION_CODE, DEFAULT_VERSION, RESOURCE_TYPE_ID) SELECT FHAT.HTTP_APP_TYPE_ID, '$version', 't', PRT.TYPE_ID FROM FEATURE.HTTP_APP_TYPE fhat, PROVISION.RESOURCE_TYPE prt WHERE FHAT.HTTP_APP_TYPE = 'typo3' AND PRT.TYPE_CODE = 'UNIX' AND NOT EXISTS (SELECT 1 from FEATURE.HTTP_APP_VERSION fhav WHERE FHAV.HTTP_APP_TYPE_ID = FHAT.HTTP_APP_TYPE_ID AND FHAV.APP_VERSION_CODE = '$version' AND FHAV.RESOURCE_TYPE_ID = PRT.TYPE_ID) "; my $updAppVerStr = " UPDATE FEATURE.HTTP_APP_VERSION fhav SET FHAV.DEFAULT_VERSION = 'f' WHERE FHAV.HTTP_APP_TYPE_ID = (SELECT FHAT.HTTP_APP_TYPE_ID FROM FEATURE.HTTP_APP_TYPE fhat WHERE FHAT.HTTP_APP_TYPE = 'typo3') AND FHAV.RESOURCE_TYPE_ID = (SELECT TYPE_ID FROM PROVISION.RESOURCE_TYPE WHERE TYPE_CODE = 'UNIX') AND FHAV.DEFAULT_VERSION = 't' AND FHAV.APP_VERSION_CODE <> '$version' "; my $appUpgOptStr = " INSERT INTO FEATURE.HTTP_APP_UPGRADE_OPTION(from_version,to_version) SELECT FROM_FHAV.HTTP_APP_VERSION_ID, TO_FHAV.HTTP_APP_VERSION_ID FROM FEATURE.HTTP_APP_VERSION from_fhav, FEATURE.HTTP_APP_VERSION to_fhav, PROVISION.RESOURCE_TYPE prt, FEATURE.HTTP_APP_TYPE fhat WHERE PRT.TYPE_CODE = 'UNIX' AND FHAT.HTTP_APP_TYPE = 'typo3' AND FROM_FHAV.HTTP_APP_TYPE_ID = FHAT.HTTP_APP_TYPE_ID AND FROM_FHAV.RESOURCE_TYPE_ID = PRT.TYPE_ID AND FROM_FHAV.DEFAULT_VERSION = 'f' AND TO_FHAV.HTTP_APP_TYPE_ID = FHAT.HTTP_APP_TYPE_ID AND TO_FHAV.RESOURCE_TYPE_ID = PRT.TYPE_ID AND TO_FHAV.DEFAULT_VERSION = 't' AND NOT EXISTS (SELECT 1 FROM FEATURE.HTTP_APP_UPGRADE_OPTION fhauo WHERE FHAUO.FROM_VERSION = FROM_FHAV.HTTP_APP_VERSION_ID AND FHAUO.TO_VERSION = TO_FHAV.HTTP_APP_VERSION_ID) ORDER BY PRT.TYPE_CODE ,FROM_FHAV.APP_VERSION_CODE, TO_FHAV.APP_VERSION_CODE "; my $appVerDepMysqlStr = " INSERT INTO FEATURE.HTTP_APP_VERSION_DEPENDENCY(parent_http_app_version_id, child_service_version_id, default_version) SELECT FHAV.HTTP_APP_VERSION_ID, SSV.SERVICE_VERSION_ID, 't' FROM FEATURE.HTTP_APP_VERSION fhav, PROVISION.RESOURCE_TYPE prt, FEATURE.HTTP_APP_TYPE fhat, SERVICE.SERVICE_VERSION ssv, SERVICE.SERVICE ss WHERE FHAT.HTTP_APP_TYPE = 'typo3' AND PRT.TYPE_ID = FHAV.RESOURCE_TYPE_ID AND PRT.TYPE_CODE = 'UNIX' AND FHAV.HTTP_APP_TYPE_ID = FHAT.HTTP_APP_TYPE_ID AND FHAV.DEFAULT_VERSION = 't' AND SS.SERVICE_CODE = 'base-database-mysql5' AND SSV.SERVICE_ID = SS.SERVICE_ID AND SSV.SERVICE_VERSION_CODE <> '4' AND SSV.DEFAULT_VERSION = 't' AND NOT EXISTS (SELECT 1 FROM FEATURE.HTTP_APP_VERSION_DEPENDENCY fhavd WHERE FHAVD.PARENT_HTTP_APP_VERSION_ID = FHAV.HTTP_APP_VERSION_ID AND FHAVD.CHILD_SERVICE_VERSION_ID = SSV.SERVICE_VERSION_ID) "; my $appVerDepPhpStr = " INSERT INTO FEATURE.HTTP_APP_VERSION_DEPENDENCY(parent_http_app_version_id, child_service_version_id, default_version) SELECT FHAV.HTTP_APP_VERSION_ID, SSV.SERVICE_VERSION_ID, 't' FROM FEATURE.HTTP_APP_VERSION fhav, PROVISION.RESOURCE_TYPE prt, FEATURE.HTTP_APP_TYPE fhat, SERVICE.SERVICE_VERSION ssv, SERVICE.SERVICE ss WHERE FHAT.HTTP_APP_TYPE = 'typo3' AND PRT.TYPE_ID = FHAV.RESOURCE_TYPE_ID AND PRT.TYPE_CODE = 'UNIX' AND FHAV.HTTP_APP_TYPE_ID = FHAT.HTTP_APP_TYPE_ID AND FHAV.DEFAULT_VERSION = 't' AND SS.SERVICE_CODE = 'base-http-script-php' AND SSV.SERVICE_ID = SS.SERVICE_ID AND SSV.SERVICE_VERSION_CODE <> '4' AND NOT EXISTS (SELECT 1 FROM FEATURE.HTTP_APP_VERSION_DEPENDENCY fhavd WHERE FHAVD.PARENT_HTTP_APP_VERSION_ID = FHAV.HTTP_APP_VERSION_ID AND FHAVD.CHILD_SERVICE_VERSION_ID = SSV.SERVICE_VERSION_ID) "; my $dbh = connectIQDBwithWrite(); my $insAppVer = $dbh->prepare($insAppVerStr) || do_error($DBI::errstr); $insAppVer->execute() || do_error($DBI::errstr); my $updAppVer = $dbh->prepare($updAppVerStr) || do_error($DBI::errstr); $updAppVer->execute() || do_error($DBI::errstr); my $appUpgOpt = $dbh->prepare($appUpgOptStr) || do_error($DBI::errstr); $appUpgOpt->execute() || do_error($DBI::errstr); my $appVerDepMysql = $dbh->prepare($appVerDepMysqlStr) || do_error($DBI::errstr); $appVerDepMysql->execute() || do_error($DBI::errstr); my $appVerDepPhp = $dbh->prepare($appVerDepPhpStr) || do_error($DBI::errstr); $appVerDepPhp->execute() || do_error($DBI::errstr); $dbh->disconnect(); exit(0); # Subroutines sub do_error(@) { my $errmsg = shift; $dbh->disconnect(); print(STDERR "ERROR: $errmsg\n"); exit(1); }