Изменение имени первичного ключа

У меня есть 20 таблиц в моей базе данных MySQL. Я прочитал документацию по Kohana и узнал, что для правильной работы ORM первичный ключ таблиц должен называться id.

Я создал свои таблицы до того, как узнал об этом требовании, и первичный ключ был назван в формате ID (например:- UsersID). Я считаю, что если я изменю имя первичных ключей, то мне придется сбросить все ссылки (FK) вручную, что является непростой задачей.

Я использую Workbench и есть ли опция, позволяющая автоматически обновлять ссылки (FK) после изменения имени первичного ключа.

2 ответа

если я правильно понимаю, вы хотите, как следующие:

это ничем не отличается от изменения любого другого столбца -

ALTER TABLE `pkey` CHANGE `keyfield` `keyfield2` INT(11) NOT NULL AUTO_INCREMENT 

Это меняет столбец keyfield в таблице pkey быть названным keyfield2 - Вы должны предоставить определение позже, как обычно.

Вы также можете настроить ORM для использования другого поля, которое id в качестве первичного ключа в модели:

protected $_primary_key = 'your_id';

Используемое поле должно быть проиндексировано и уникально. ( задокументировано здесь)

Это часто полезно при использовании Kohana/ORM с существующими базами данных.

Другие вопросы по тегам