Index: link.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/link/link.install,v retrieving revision 1.5.2.4 diff -u -r1.5.2.4 link.install --- link.install 25 Feb 2009 16:50:55 -0000 1.5.2.4 +++ link.install 28 Mar 2009 22:12:09 -0000 @@ -49,3 +49,35 @@ } return array(); } + +/** + * Change the database schema to allow NULL values. + */ +function link_update_6001() { + $ret = array(); + + // Build a list of fields that need updating. + $update_fields = array(); + foreach (content_types_install() as $type_name => $fields) { + foreach ($fields as $field) { + if ($field['type'] == 'link') { + // We only process a given field once. + $update_fields[$field['field_name']] = $field; + } + } + } + + // Update each field's storage to match the current definition. + foreach ($update_fields as $field) { + $db_info = content_database_info($field); + foreach ($db_info['columns'] as $column) { + db_change_field($ret, $db_info['table'], $column['column'], $column['column'], $column); + $ret[] = update_sql("UPDATE {". $db_info['table'] ."} SET ". $column['column'] ." = NULL WHERE ". $column['column'] ." = '' OR ". $column['column'] ." = 'N;'"); + } + } + + // Let CCK re-associate link fields with Link module and activate the fields. + content_associate_fields('link'); + + return $ret; +} \ No newline at end of file