Exemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configuration = CodePax_Config::getInstance(CONFIG_PATH . 'config.ini');
     try {
         $sql_engine = CodePax_DbVersioning_SqlEngines_Factory::factory($configuration);
         $dir = ABS_PATH . 'app' . DIRECTORY_SEPARATOR . 'db' . DIRECTORY_SEPARATOR;
         switch (strtolower($configuration->db_engine)) {
             case 'mysql':
                 $sql_file_name = 'db_versions_mysql.sql';
                 break;
             case 'pgsql':
                 $sql_file_name = 'db_versions_pgsql.sql';
                 break;
             case 'sqlsrv':
                 $sql_file_name = 'db_versions_sqlsrv.sql';
                 break;
         }
         $sql_engine->executeChangeScript($dir . $sql_file_name);
     } catch (CodePax_DbVersioning_Exception $e) {
         $output->writeln('An error ocurred: ' . $e->getMessage());
         exit;
     } catch (Exception $e) {
         $output->writeln('Generic error: ' . $e->getMessage());
         exit;
     }
     $output->writeln('CodePax successfully installed!');
 }
Exemplo n.º 2
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configuration = CodePax_Config::getInstance(CONFIG_PATH . 'config.ini');
     $db_versions_model = CodePax_DbVersions::factory($configuration);
     $latest_structure_version = $db_versions_model->getLatestVersion(CodePax_DbVersions::TYPE_CHANGE_SCRIPT);
     $latest_data_version = $db_versions_model->getLatestVersion(CodePax_DbVersions::TYPE_DATA_CHANGE_SCRIPT);
     $db_versioning_handler = CodePax_DbVersioning_Environments_Factory::factory($configuration);
     $change_scripts = $db_versioning_handler->getChangeScripts();
     $data_change_scripts = $db_versioning_handler->getDataChangeScripts();
     $output->writeln('Environment: ' . strtoupper($configuration->application_environment));
     $output->writeln('');
     $output->writeln('Database name: ' . $configuration->db_name);
     $output->writeln('Database structure version: ' . $latest_structure_version[CodePax_DbVersions::VERSION_ATTRIBUTE]);
     $output->writeln('Database structure last update: ' . $latest_structure_version[CodePax_DbVersions::DATE_ADDED_ATTRIBUTE]);
     $output->writeln('Database data version: ' . $latest_data_version[CodePax_DbVersions::VERSION_ATTRIBUTE]);
     $output->writeln('Database data last update: ' . (!empty($latest_data_version[CodePax_DbVersions::DATE_ADDED_ATTRIBUTE]) ? $latest_data_version[CodePax_DbVersions::DATE_ADDED_ATTRIBUTE] : 'n/a'));
     $output->writeln('');
     if (strtolower($configuration->application_environment) == 'dev') {
         $output->writeln('Baseline version: ' . $db_versioning_handler->getLatestBaselineVersion());
     }
     $output->writeln('Change structure scripts to run: ');
     $output->writeln(!empty($change_scripts) ? implode("\n", array_keys($change_scripts)) : 'n/a');
     $output->writeln('Change data scripts to run: ');
     $output->writeln(!empty($data_change_scripts) ? implode("\n", array_keys($data_change_scripts)) : 'n/a');
 }
Exemplo n.º 3
0
 /**
  * Returns the config loader class instance
  *
  * @param string $_config_file
  * @return CodePax_Config
  * */
 public static function getInstance($_config_file)
 {
     if (is_null(self::$instance)) {
         self::$instance = new CodePax_Config($_config_file);
     }
     return self::$instance;
 }
Exemplo n.º 4
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configuration = CodePax_Config::getInstance(CONFIG_PATH . 'config.ini');
     $preserve_test_data = false;
     if ($input->getOption('preserve-test-data')) {
         $preserve_test_data = true;
     }
     try {
         $db_versioning_handler = CodePax_DbVersioning_Environments_Factory::factory($configuration);
         $generate_test_data = false;
         // generate test data
         if (strtolower($configuration->application_environment) == 'dev' && isset($preserve_test_data) && $preserve_test_data == true) {
             $generate_test_data = true;
         }
         $db_scripts_result = $db_versioning_handler->runScripts($generate_test_data);
         unset($db_scripts_result['run_change_scripts'], $db_scripts_result['run_data_change_scripts']);
     } catch (CodePax_DbVersioning_Exception $e) {
         $output->writeln($e->getMessage());
         exit;
     } catch (Exception $e) {
         $output->writeln($e->getMessage());
         exit;
     }
     $output->writeln('Everything went smoothly!');
 }
Exemplo n.º 5
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $configuration = CodePax_Config::getInstance(CONFIG_PATH . 'config.ini');
     if (strtolower($configuration->application_environment) == 'stg') {
         try {
             $db_versioning_handler = CodePax_DbVersioning_Environments_Factory::factory($configuration);
             $db_versioning_handler->generateBaseline();
         } catch (CodePax_DbVersioning_Exception $e) {
             $output->writeln('An error ocurred: ' . $e->getMessage());
             exit;
         } catch (Exception $e) {
             $output->writeln('Generic error: ' . $e->getMessage());
             exit;
         }
         $output->writeln('A new baseline has been generated!');
     } else {
         $output->writeln('You are not running on stg. The ' . strtolower($configuration->application_environment) . ' environment was detected');
     }
 }