function lmb_get_project_dir() { if (!($project_dir = get_cfg_var('limb.project_dir'))) { $project_dir = lmb_cli_ask_for_option('Project directory', lmb_cli_find_project_dir(getcwd())); } else { echo "Project directory loaded from PHP config: {$project_dir}\n"; } return $project_dir; }
/** *@todo must be "always", but always dont receive args by default */ function task_entity_parse_table_argument($args) { lmb_package_require('dbal'); $database_info = lmbToolkit::instance()->getDefaultDbConnection()->getDatabaseInfo(); taskman_msg('DATABASE: ' . $database_info->getName() . PHP_EOL); $table_name = lmb_cli_ask_for_option("Table name (could be 'all')"); if ('all' !== $table_name) { $tables = array($database_info->getTable($table_name)); } else { $tables = _filter_tables($database_info->getTables(), 'lmb_'); } if (!count($tables)) { taskman_sysmsg('No tables found in ' . $table_name); exit(1); } taskman_propset('TABLES', $tables); }
/** *@desc Init db config by given DSN param *@example project.php init_db_config -D DSN=sqlite:///www/skel/db/database.sqlite */ function task_project_db_init_config() { lmb_package_require('dbal'); $config_file = taskman_prop('PROJECT_DIR') . '/settings/db.conf.php'; if (file_exists($config_file)) { return; } taskman_msg("Database config does not exists...\n"); if (!($dsn_str = taskman_propor('DSN', ''))) { $dsn_str = lmb_cli_ask_for_option('Dsn (example: mysqli://root:test@localhost/limb_app?charset=utf8)'); } lmb_require('limb/dbal/src/lmbDbDSN.class.php'); $dsn = new lmbDbDSN($dsn_str); $config_text = "<?php\n\n \$conf = array('dsn' => '{$dsn_str}');"; file_put_contents($config_file, $config_text); taskman_msg("DB config ({$config_file}) writed...Done\n"); }