$db_obj = new DatabaseAccess(); $new_table_array = array(); foreach (glob(TABLE_SQL_ROOT . '/*.sql') as $sql_file) { $new_table_array[] = str_replace('.sql', '', str_replace(TABLE_SQL_ROOT . '/', '', $sql_file)); } foreach ($new_table_array as $table_name) { $class_name = str_replace(' ', '', ucwords(str_replace('_', ' ', $table_name))); echo 'Create `' . $table_name . '`...'; if (ModelHelper::importTable($table_name)) { echo 'ok' . PHP_EOL; // sync class file $class_path = CLASS_ROOT . '/model/' . $class_name . '.php'; if (file_exists($class_path)) { echo "\tClass file exists" . PHP_EOL; } else { $column_list = $db_obj->getTableColumns($table_name); echo "\tCreate class file..."; if (ModelHelper::createClassFile($table_name, $column_list)) { echo 'ok' . PHP_EOL; } else { echo 'fail' . PHP_EOL; } } // sync class god file $class_path = CLASS_ROOT . '/model/' . $class_name . 'God.php'; echo "\tCreate class god file..."; if (file_exists($class_path)) { echo "\tClass god file exists" . PHP_EOL; } else { $column_list = $db_obj->getTableColumns($table_name); if (ModelHelper::createClassGodFile($table_name)) {
public static function exportData($table_name) { $sql_path = DATA_SQL_ROOT . '/' . $table_name . '.sql'; $god_class_name = str_replace(' ', '', ucwords(str_replace('_', ' ', $table_name))) . 'God'; if (!file_exists(SITE_ROOT . '/_asset/sql/')) { mkdir(SITE_ROOT . '/_asset/sql/'); } if (!file_exists(DATA_SQL_ROOT)) { mkdir(DATA_SQL_ROOT); } $db_obj = new DatabaseAccess(); $column_array = $db_obj->getTableColumns($table_name); $sql_content = "INSERT INTO `{$table_name}`" . PHP_EOL . "(`id`, "; foreach ($column_array as $column_name => $attribute) { $sql_content .= "`{$column_name}`, "; } // end foreach ($column_array as $column_name => $attribute) $sql_content .= "`is_deleted`, `create_time`, `modify_time`, `delete_time`)" . PHP_EOL . "VALUES" . PHP_EOL; $class_god_obj = new $god_class_name(); $all_data = $class_god_obj->getAll(); foreach ($all_data as $data) { $sql_content .= "('" . $data['id'] . "', "; foreach ($column_array as $column_name => $attribute) { $sql_content .= "'" . $data[$column_name] . "', "; } // end foreach ($column_array as $column_name => $attribute) $sql_content .= "'" . $data['is_deleted'] . "', " . "'" . $data['create_time'] . "', " . "'" . $data['modify_time'] . "', " . "'" . $data['delete_time'] . "'" . ")," . PHP_EOL; } // end foreach ($all_data as $data) return file_put_contents($sql_path, substr($sql_content, 0, -2)); }