| 6 common.inc | drupal_uninstall_schema($module) |
| 7 common.inc | drupal_uninstall_schema($module) |
| 8 schema.inc | drupal_uninstall_schema($module) |
Removes all tables defined in a module's hook_schema().
Note: This function does not pass the module's schema through hook_schema_alter(). The module's tables will be created exactly as the module defines them.
Parameters
$module: The module for which the tables will be removed.
Return value
An array of arrays with the following key/value pairs:
- success: a boolean indicating whether the query succeeded.
- query: the SQL query(s) executed, passed through check_plain().
Related topics
1 call to drupal_uninstall_schema()
File
- includes/
common.inc, line 6787 - Common functions that many Drupal modules will need to reference.
Code
function drupal_uninstall_schema($module) {
$schema = drupal_get_schema_unprocessed($module);
_drupal_schema_initialize($schema, $module, FALSE);
foreach ($schema as $table) {
if (db_table_exists($table['name'])) {
db_drop_table($table['name']);
}
}
}
Login or register to post comments
Comments
No longer necessary in Drupal 7
As of Drupal 7, a call to drupal_uninstall_schema() is no longer necessary. See http://drupal.org/update/modules/6/7: "A module no longer should explicitly install or uninstall its database schema in hook_install() or hook_uninstall()."