2011-04-19 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* install.php: Now it's possible to drop oracle db before installation. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4247 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
c382a2b994
commit
3014512979
|
@ -1,3 +1,7 @@
|
||||||
|
2011-04-19 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
|
||||||
|
|
||||||
|
* install.php: Now it's possible to drop oracle db before installation.
|
||||||
|
|
||||||
2011-04-18 Sergio Martin <sergio.martin@artica.es>
|
2011-04-18 Sergio Martin <sergio.martin@artica.es>
|
||||||
|
|
||||||
* include/graphs/functions_pchart.php
|
* include/graphs/functions_pchart.php
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
options_text = new Array('An existing Database','A new Database');
|
options_text = new Array('An existing Database','A new Database');
|
||||||
options_values = new Array('db_exist','db_new');
|
options_values = new Array('db_exist','db_new');
|
||||||
function ChangeDBDrop(causer) {
|
function ChangeDBDrop(causer) {
|
||||||
if (causer.value == 'db_exist') {
|
if (causer.value != 'db_exist' && window.document.step2_form.engine.value != 'mysql') {
|
||||||
window.document.step2_form.drop.checked=0;
|
window.document.step2_form.drop.checked=0;
|
||||||
window.document.step2_form.drop.disabled=1;
|
window.document.step2_form.drop.disabled=1;
|
||||||
}
|
}
|
||||||
|
@ -316,6 +316,33 @@ function parse_oracle_dump($connection, $url, $debug = false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function oracle_drop_all_objects ($connection) {
|
||||||
|
|
||||||
|
//Drop all objects of the current instalation
|
||||||
|
$stmt = oci_parse($connection,
|
||||||
|
"BEGIN " .
|
||||||
|
"FOR cur_rec IN (SELECT object_name, object_type " .
|
||||||
|
"FROM user_objects " .
|
||||||
|
"WHERE object_type IN ('TABLE', 'VIEW', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE', 'SNAPSHOT', 'MATERIALIZED VIEW')) LOOP " .
|
||||||
|
"BEGIN " .
|
||||||
|
"IF cur_rec.object_type = 'TABLE' THEN " .
|
||||||
|
"EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\" CASCADE CONSTRAINTS'; " .
|
||||||
|
"ELSE " .
|
||||||
|
"EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\"'; " .
|
||||||
|
"END IF; " .
|
||||||
|
"EXCEPTION " .
|
||||||
|
"WHEN OTHERS THEN " .
|
||||||
|
"DBMS_OUTPUT.put_line('FAILED: DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\"'); " .
|
||||||
|
"END; " .
|
||||||
|
"END LOOP; " .
|
||||||
|
"END; ");
|
||||||
|
|
||||||
|
$result = oci_execute($stmt);
|
||||||
|
oci_free_statement($stmt);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
function random_name ($size){
|
function random_name ($size){
|
||||||
$temp = "";
|
$temp = "";
|
||||||
for ($a=0;$a< $size;$a++)
|
for ($a=0;$a< $size;$a++)
|
||||||
|
@ -669,7 +696,7 @@ function install_step4() {
|
||||||
check_generic ( 1, "Connection with Database");
|
check_generic ( 1, "Connection with Database");
|
||||||
|
|
||||||
// Drop database if needed and don't want to install over an existing DB
|
// Drop database if needed and don't want to install over an existing DB
|
||||||
if ($dbdrop == 1 && $dbaction != 'db_exist') {
|
if ($dbdrop == 1) {
|
||||||
mysql_query ("DROP DATABASE IF EXISTS $dbname");
|
mysql_query ("DROP DATABASE IF EXISTS $dbname");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -741,6 +768,11 @@ function install_step4() {
|
||||||
else {
|
else {
|
||||||
check_generic(1, "Connection with Database");
|
check_generic(1, "Connection with Database");
|
||||||
|
|
||||||
|
// Drop all objects if needed
|
||||||
|
if ($dbdrop == 1) {
|
||||||
|
oracle_drop_all_objects($connection);
|
||||||
|
}
|
||||||
|
|
||||||
$step1 = parse_oracle_dump($connection, "pandoradb.oracle.sql");
|
$step1 = parse_oracle_dump($connection, "pandoradb.oracle.sql");
|
||||||
|
|
||||||
check_generic($step1, "Creating schema");
|
check_generic($step1, "Creating schema");
|
||||||
|
@ -802,8 +834,8 @@ function install_step4() {
|
||||||
else {
|
else {
|
||||||
check_generic(1, "Connection with Database");
|
check_generic(1, "Connection with Database");
|
||||||
|
|
||||||
// Drop database if needed and don't want to install over an existing DB
|
// Drop database if needed
|
||||||
if ($dbdrop == 1 && $dbaction != 'db_exist') {
|
if ($dbdrop == 1 && $dbaction == 'db_exist') {
|
||||||
$result = pg_query($connection, "DROP DATABASE \"" . $dbname . "\";");
|
$result = pg_query($connection, "DROP DATABASE \"" . $dbname . "\";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1007,27 +1039,7 @@ function install_step4() {
|
||||||
case 'pgsql':
|
case 'pgsql':
|
||||||
break;
|
break;
|
||||||
case 'oracle':
|
case 'oracle':
|
||||||
//Drop all objects of the current instalation
|
oracle_drop_all_objects($connection);
|
||||||
$stmt = oci_parse($connection,
|
|
||||||
"BEGIN " .
|
|
||||||
"FOR cur_rec IN (SELECT object_name, object_type " .
|
|
||||||
"FROM user_objects " .
|
|
||||||
"WHERE object_type IN ('TABLE', 'VIEW', 'PACKAGE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE', 'SNAPSHOT', 'MATERIALIZED VIEW')) LOOP " .
|
|
||||||
"BEGIN " .
|
|
||||||
"IF cur_rec.object_type = 'TABLE' THEN " .
|
|
||||||
"EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\" CASCADE CONSTRAINTS'; " .
|
|
||||||
"ELSE " .
|
|
||||||
"EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\"'; " .
|
|
||||||
"END IF; " .
|
|
||||||
"EXCEPTION " .
|
|
||||||
"WHEN OTHERS THEN " .
|
|
||||||
"DBMS_OUTPUT.put_line('FAILED: DROP ' || cur_rec.object_type || ' \"' || cur_rec.object_name || '\"'); " .
|
|
||||||
"END; " .
|
|
||||||
"END LOOP; " .
|
|
||||||
"END; ");
|
|
||||||
|
|
||||||
$result = oci_execute($stmt);
|
|
||||||
oci_free_statement($stmt);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue