Обновить идентификатор модели в Symfony - PullRequest
0 голосов
/ 03 февраля 2011

В настоящее время я использую symfony admin-generator для управления базой данных.База данных уже создана и используется, и одна из вещей, которые она делает по-другому, чем обычная база данных Symfony, - это использование varchar в качестве первичного ключа, а не метод symfony по использованию int для всех первичных ключей.

Проблема, с которой я сталкиваюсь - это возможность редактировать и обновлять этот первичный ключ в форме.Проблема в том, что, когда я пытаюсь отредактировать ключ, форма выдает ошибку и говорит «Неверно».Я могу предположить, что ошибка связана с тем, что новый ПК не соответствует старому.Я полагаю, у меня есть следующие опции:

  1. Удалить старую модель, создать новую и сохранить ее.

  2. Не разрешать их редактироватьID.Вместо этого им придется удалить модель и воссоздать ее.

  3. Не разрешать им создавать или редактировать идентификатор и вместо этого выводить его из атрибута.

  4. Измените архитектуру базы данных, чтобы в модели было автоинкрементное целое число PK.Затем используйте уникальный индекс varchar для предыдущего PK.

Теперь, когда я думаю об этом, номер 3 будет идеальным, потому что модель как поле «Имя», которое может легко иметьID, выведенный из этого.Тем не менее, это по-прежнему вызывает проблему в 1, когда они обновляют имя.

Мне вообще не нравится вариант 2, и я думаю, что я действительно предпочел бы номер 4. Я предполагаю, что 4 - самый простой способ, и этоможно было бы сделать, но я хотел бы, по крайней мере, знать, можно ли реализовать номер 1 для дальнейшего использования.

1 Ответ

0 голосов
/ 04 февраля 2011

На основании вашего комментария я бы реорганизовал базу данных. Я бы создал целое число auto_increment PK и создал бы уникальный индекс для столбца слагов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...