public function get_last_edited_message(Database_Table $table, $id)
 {
     return 'Updated row ' . $id . ' from the ' . $table->get_name() . ' table.';
 }
 private function get_filename_for_table(Database_Table $table)
 {
     return $this->get_name() . '/' . $table->get_name() . '.txt';
 }
 public static function save_table_structure_in_directory(Database_Table $table, $table_specification_directory_name)
 {
     $debug = FALSE;
     #$debug = TRUE;
     $table_name = $table->get_name();
     if ($debug) {
         echo '$table_name: ' . $table_name . PHP_EOL;
     }
     /*
      * Make sure that the dir exists.
      */
     if (!is_dir($table_specification_directory_name)) {
         FileSystem_DirectoryHelper::mkdir_parents($table_specification_directory_name);
     }
     foreach ($db_table->get_fields() as $db_field) {
         $db_field_name = $db_field->get_name();
         if ($debug) {
             echo '$db_field_name: ' . $db_field_name . PHP_EOL;
         }
         /*
          * Save the type.
          */
         $db_field_type = $db_field->get_type();
         if ($debug) {
             echo '$db_field_type: ' . $db_field_type . PHP_EOL;
         }
         $db_field_type_file_name = $table_specification_directory_name . DIRECTORY_SEPARATOR . $db_field_name . '.type';
         if ($debug) {
             echo '$db_field_type_file_name: ' . $db_field_type_file_name . PHP_EOL;
         }
         if (!$debug) {
             if ($fh = fopen($db_field_type_file_name, 'w')) {
                 fwrite($fh, $db_field_type . PHP_EOL);
                 fclose($fh);
             }
         }
         /*
          * Save whether this field can be null or not
          */
         $db_field_can_be_null = $db_field->can_be_null();
         if ($debug) {
             echo '$db_field_can_be_null: ' . ($db_field_can_be_null ? 'YES' : 'NO') . PHP_EOL;
         }
         $db_field_can_be_null_file_name = $table_specification_directory_name . DIRECTORY_SEPARATOR . $db_field_name . '.can-be-null';
         if ($debug) {
             echo '$db_field_can_be_null_file_name: ' . $db_field_can_be_null_file_name . PHP_EOL;
         }
         if (!$debug) {
             if ($fh = fopen($db_field_can_be_null_file_name, 'w')) {
                 fwrite($fh, ($db_field_can_be_null ? 'YES' : 'NO') . PHP_EOL);
                 fclose($fh);
             }
         }
         /*
          * Save the key
          */
         $db_field_key = $db_field->get_key();
         if (strlen($db_field_key) > 0) {
             if ($debug) {
                 echo '$db_field_key: ' . $db_field_key . PHP_EOL;
             }
             $db_field_key_file_name = $table_specification_directory_name . DIRECTORY_SEPARATOR . $db_field_name . '.key';
             if ($debug) {
                 echo '$db_field_key_file_name: ' . $db_field_key_file_name . PHP_EOL;
             }
             if (!$debug) {
                 if ($fh = fopen($db_field_key_file_name, 'w')) {
                     fwrite($fh, $db_field_key . PHP_EOL);
                     fclose($fh);
                 }
             }
         }
         /*
          * Save the default
          */
         $db_field_default = $db_field->get_default();
         if (strlen($db_field_default) > 0) {
             if ($debug) {
                 echo '$db_field_default: ' . $db_field_default . PHP_EOL;
             }
             $db_field_default_file_name = $table_specification_directory_name . DIRECTORY_SEPARATOR . $db_field_name . '.default';
             if ($debug) {
                 echo '$db_field_default_file_name: ' . $db_field_default_file_name . PHP_EOL;
             }
             if (!$debug) {
                 if ($fh = fopen($db_field_default_file_name, 'w')) {
                     fwrite($fh, $db_field_default . PHP_EOL);
                     fclose($fh);
                 }
             }
         }
         /*
          * Save any extra info.
          */
         $db_field_extra = $db_field->get_extra();
         if (strlen($db_field_extra) > 0) {
             if ($debug) {
                 echo '$db_field_extra: ' . $db_field_extra . PHP_EOL;
             }
             $db_field_extra_file_name = $table_specification_directory_name . DIRECTORY_SEPARATOR . $db_field_name . '.extra';
             if ($debug) {
                 echo '$db_field_extra_file_name: ' . $db_field_extra_file_name . PHP_EOL;
             }
             if (!$debug) {
                 if ($fh = fopen($db_field_extra_file_name, 'w')) {
                     fwrite($fh, $db_field_extra . PHP_EOL);
                     fclose($fh);
                 }
             }
         }
     }
     #/*
     # * Save the indexes.
     # */
     #
     #$dbh = DB::m();
     #
     #$query = "SHOW INDEX FROM $table_name";
     #
     #$result = mysql_query($query, $dbh);
     #
     #while ($row = mysql_fetch_assoc($result)) {
     #	print_r($row);
     #
     #	$index_file_name
     #		= $table_specification_directory_name
     #			. DIRECTORY_SEPARATOR . $row['Key_name'] . '.index';
     #	echo '$index_file_name: ' . $index_file_name . PHP_EOL;
     #
     #	if ($fh = fopen($index_file_name, 'w')) {
     #		foreach (
     #			explode(' ', 'Non_unique Column_name')
     #			as
     #			$key
     #		) {
     #			fwrite(
     #				$fh,
     #				$key . ': ' . $row[$key] . PHP_EOL
     #			);
     #		}
     #
     #		fclose($fh);
     #	}
     #}
 }