доктрина symfony build-sql ошибка - PullRequest
0 голосов
/ 10 апреля 2010

У меня есть большие проблемы с symfony и доктриной в начале нового проекта.Я создал диаграмму базы данных с помощью MySQL Workbench, вставил sql в phpmyadmin, а затем я попробовал доктрину Symfony: build-schema для генерации схемы YAML.Он генерирует неправильную схему (отношения не имеют отношения при удалении / обновлении), и после этого я попробовал доктрину Symfony: build --sql и доктрину Symfony: insert-sql

Оператор insert-sql генерируетошибка (невозможно создать таблицу ... сбой запроса изменить таблицу, добавить ограничение ....), поэтому я решил взглянуть на сгенерированный sql и обнаружил некоторые различия между sql, сгенерированным из mysql workbench(который прекрасно работает, включая отношения) и sql, сгенерированный доктриной.

С этого момента я буду коротким: у меня есть таблицы, EVENT и FORM и отношение 1 к n (каждое событие может иметь несколько форм) поэтому правильное ограничение (сгенерированное с помощью рабочей среды):

ALTER TABLE `form` ADD CONSTRAINT `fk_form_event1` FOREIGN KEY (`event_id`) REFERENCES `event` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

сгенерированное доктриной утверждение:

ALTER TABLE event ADD CONSTRAINT event_id_form_event_id FOREIGN KEY (id) REFERENCES form(event_id);

Оно полностью перевернуто, и я уверен, что здесь есть ошибка.Что я должен делать?Это также правильно, как это?

Ответы [ 2 ]

0 голосов
/ 10 января 2014

Чтобы получить как визуальное представление, так и автоматическую генерацию кода, вы можете использовать ORM Designer , чтобы все было покрыто одним инструментом.

0 голосов
/ 16 апреля 2010

Это сломано, я написал схему вручную, и она отлично работает. Я не хотел этого делать, потому что это был очень большой файл, но я также извлек уроки из этого!

Спасибо, ребята!

...