<?php include_once 'install/DatabaseInstaller.class.php'; include_once 'install-funcs.inc.php'; // Read in DSN $CONFIG_FILE = '../conf/config.ini'; $CONFIG = parse_ini_file($CONFIG_FILE); $defaultScriptDir = getcwd() . '/sql/pgsql/'; // Remove the database $answer = configure('DO_SCHEMA_LOAD', 'Y', "\nWould you like to remove the data for this application"); if (!responseIsAffirmative($answer)) { print "Normal exit.\n"; exit(0); } $answer = configure('CONFIRM_DO_SCHEMA_LOAD', 'N', "\nRemoving the data removes any existing database, schema, users, and/or data.\n" . 'Are you sure you wish to continue'); if (!responseIsAffirmative($answer)) { print "\nNormal exit.\n"; exit(0); } // Setup root DSN $username = configure('DB_ROOT_USER', 'root', "\nDatabase adminitrator user"); $password = configure('DB_ROOT_PASS', '', "Database administrator password", true); $installer = DatabaseInstaller::getInstaller($CONFIG['DB_DSN'], $username, $password); // Drop tables $installer->runScript($defaultScriptDir . 'drop_tables.sql'); // Disable postgis $installer->disablePostgis(); // Drop user $installer->dropUser(array('SELECT'), $CONFIG['DB_USER']); // Drop database $installer->dropDatabase();
// Find schema load file $schemaScript = configure('SCHEMA_SCRIPT', $defaultScriptDir . DIRECTORY_SEPARATOR . 'create_tables.sql', 'SQL script containing schema definition'); if (!file_exists($schemaScript)) { print "The indicated script does not exist. Please try again.\n"; exit(-1); } $dropSchemaScript = configure('SCHEMA_SCRIPT', str_replace('create_tables.sql', 'drop_tables.sql', $schemaScript), 'SQL script containing schema definition'); if (!file_exists($dropSchemaScript)) { print "The indicated script does not exist. Please try again.\n"; exit(-1); } // ---------------------------------------------------------------------- // Create Database // ---------------------------------------------------------------------- include_once 'install/DatabaseInstaller.class.php'; $dbInstaller = DatabaseInstaller::getInstaller($DB_DSN, $username, $password); // make sure database exists if (!$dbInstaller->databaseExists()) { $dbInstaller->createDatabase(); } // ---------------------------------------------------------------------- // Create Schema // ---------------------------------------------------------------------- // run drop tables $dbInstaller->runScript($dropSchemaScript); // create schema $dbInstaller->runScript($schemaScript); // create read/write user for save $dbInstaller->createUser(array('SELECT', 'INSERT', 'UPDATE', 'DELETE'), $CONFIG['DB_USER'], $CONFIG['DB_PASS']); print "Schema loaded successfully!\n"; // ----------------------------------------------------------------------