public static function test_table_fields_are_correct_classes() { $table = Database_DatabaseHelper::get_table('hc_database_test_1'); $field_classes = array('id' => 'Database_IntField', 'varchar_field' => 'Database_VarCharField', 'float_field' => 'Database_FloatField', 'decimal_field' => 'Database_DecimalField', 'date_field' => 'Database_DateTimeField', 'text_field' => 'Database_TextField', 'foreign_key_id' => 'Database_IntField', 'enum_field' => 'Database_EnumField'); foreach (array_keys($field_classes) as $key) { if (!is_a($table->get_field($key), $field_classes[$key])) { return FALSE; } } return TRUE; }
public static function dtest_all_db_fields_have_correct_type_in_specification() { foreach (Database_DatabaseHelper::get_tables() as $db_table) { $specified_table = Database_TableSpecificationHelper::get_table($db_table->get_name()); foreach ($db_table->get_fields() as $db_field) { if ($db_field->get_type() != $specified_table->get_field_type($db_field->get_name())) { return FALSE; } } } return TRUE; }
public function do_actions() { $root_dbh = Database_ConnectionsHelper::get_root_connection_using_cli(); Database_DatabaseHelper::reset_database($root_dbh); }
/** * This function makes the table specification * like the database. */ public static function sync_database_with_table_specification() { $debug = FALSE; #$debug = TRUE; foreach (Database_DatabaseHelper::get_tables() as $db_table) { $table_specification_directory_name = self::get_table_specification_directory_name($db_table->get_name()); if ($debug) { echo '$table_specification_directory_name: ' . $table_specification_directory_name . PHP_EOL; } self::save_table_structure_in_directory($table_name, $table_specification_directory_name); } }