drupal 7 – ¿Cómo cambio la clave principal?

Pregunta:

He creado una actualización que agrega campos a una tabla de base de datos existente. Me gustaría agregar ese campo a la lista de claves primarias ya definidas. ¿Cómo hago esto? ¿Necesito ejecutar el siguiente código?

db_drop_primary_key('table_name');
db_change_field('table_name', 'field_name', 'field_name',
array('type' => 'int', 'not null' => TRUE, 'unsigned' => TRUE),
array('primary key' => array(...list of field names...)));

Básicamente, recreo un campo existente o el nuevo que acabo de agregar. ¿Existe un método más simple en el que pueda simplemente agregar el nombre del campo a la lista de claves primarias?

Respuesta:

Muy cerca. En un hook_update_N :

// Drop all primary keys.
db_drop_primary_key('table_name');
// Add primary keys.
db_add_primary_key('table_name', array('field_a', 'field_b'...);

Consulte db_drop_primary_key y db_add_primary_key para obtener detalles y enlaces al uso.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım