Beispiel #1
0
 echo "\n";
 if ($old_schema !== null) {
     echo CLI::h1('copy data', HEADER_FILL);
     $public_schema_adapter = new Adapter\Adapter($config['databases'], $c['adapter']);
     $public_schema_adapter->addFetcher(new Adapter\Fetcher\PostgreSQLFetcher($key));
     $public_schema_adapter->fetch($manager->db);
     $old_config = $config['databases'];
     $old_config[$key]['schema_name'] = $old_schema;
     $old_schema_adapter = new Adapter\Adapter($old_config, $c['adapter']);
     $old_schema_adapter->addFetcher(new Adapter\Fetcher\PostgreSQLFetcher($key));
     $old_schema_adapter->fetch($manager->db);
     $copier = new Repel\Adapter\Copier\Copier($old_schema_adapter, $public_schema_adapter, $key, $key);
     $queries = $copier->copy($manager->db);
     file_put_contents(__DIR__ . '/update.sql', $queries);
     echo CLI::h1('initializing', HEADER_FILL);
     $initiator = new Initiator\Initiator($manager->db);
     $initiator->addSource(__DIR__ . '/update.sql');
     if (key_exists("views_dir", $c)) {
         echo CLI::dotFill('loading views', DOT_FILL);
         $views = array_merge(glob($c['views_dir'] . "/**/*.sql"), glob($c['views_dir'] . "/*.sql"));
         foreach ($views as $view) {
             $initiator->addSource($view);
         }
         echo CLI::color("done", green);
         echo "\n";
     }
     if (key_exists("functions_dir", $c)) {
         echo CLI::dotFill('loading functions', DOT_FILL);
         $functions = array_merge(glob($c['functions_dir'] . "/**/*.sql"), glob($c['functions_dir'] . "/*.sql"));
         foreach ($functions as $function) {
             $initiator->addSource($function);
Beispiel #2
0
     if (file_exists($config_file)) {
         $config = (require $config_file);
         if (!key_exists('databases', $config) || !Framework\RDatabaseConfigChecker::checkConfig($config["databases"])) {
             echo "Incorrect database config file.";
             die;
         }
     } else {
         echo "Database config file not found.";
         die;
     }
 } else {
     echo "No database config file.";
     die;
 }
 foreach ($config['databases'] as $key => $config) {
     $initiator = new Initiator\Initiator($config);
     echo CLI::h1('initialize database', HEADER_FILL);
     echo CLI::h2('add sources', HEADER_FILL);
     if (key_exists("views_dir", $config)) {
         echo CLI::dotFill('loading views', DOT_FILL);
         if (is_array($config['views_dir'])) {
             $views = array();
             foreach ($config['views_dir'] as $view_dir) {
                 $views = array_merge($views, array_merge(glob($view_dir . DIRECTORY_SEPARATOR . "**" . DIRECTORY_SEPARATOR . "*.sql"), glob($view_dir . DIRECTORY_SEPARATOR . "*.sql")));
             }
         } else {
             $views = array_merge(glob($config['views_dir'] . DIRECTORY_SEPARATOR . "**" . DIRECTORY_SEPARATOR . "*.sql"), glob($config['views_dir'] . DIRECTORY_SEPARATOR . "*.sql"));
         }
         foreach ($views as $view) {
             $initiator->addSource($view);
         }