Изменение имени первичного ключа
У меня есть 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 с существующими базами данных.