Reference to forum: http://drupal.org/node/1272132

When using Postgres (tested on 9.1.8) the system update hook 7016 does not correctly change the field types. The following trace is taken from the forum post.

Failed: PDOException:
SQLSTATE[2BP01]: Dependent objects still exist: 7
ERROR: cannot drop type smallint_unsigned because other objects depend on it
DETAIL:
default for table comment column status depends on type smallint_unsigned
default for table node_access column grant_view depends on type smallint_unsigned
default for table node_access column grant_update depends on type smallint_unsigned
default for table node_access column grant_delete depends on type smallint_unsigned
default for table taxonomy_vocabulary column relations depends on type smallint_unsigned
default for table taxonomy_vocabulary column hierarchy depends on type smallint_unsigned
default for table taxonomy_vocabulary column multiple depends on type smallint_unsigned
default for table taxonomy_vocabulary column required depends on type smallint_unsigned
default for table taxonomy_vocabulary column tags depends on type smallint_unsigned
default for table watchdog column severity depends on type smallint_unsigned
HINT: Use DROP ... CASCADE to drop the dependent objects too.:
DROP DOMAIN IF EXISTS smallint_unsigned;
Array ( ) in system_update_7016()
(line 2058 of /home/appadmin/solarheadlines.com/html/modules/system/system.install).

This bug is because the default value of each column is not updated with the column's type.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

superspring’s picture

Status: Needs work » Needs review
FileSize
2.02 KB

This patch attempts to modify the default value and set it's type to be the same as the column's type.

superspring’s picture

Same patch as previously with more comments.