Экспортируйте модель данных MySQL Workbench непосредственно в Schema YML в Propel/Symfony.
-
11-09-2019 - |
Вопрос
Есть ли какой-нибудь плагин, который напрямую экспортирует модель данных MYSQL Workbench непосредственно в YML для использования Propel?
Решение
Да, плагины MySQL Workbench доступны для создания схем для Propel, Doctrine, Symfony и т. д.
Другие советы
Просто обновление по этому вопросу.Если вы ищете быстрый и удобный способ экспорта таблиц базы данных в объекты и сопоставления файлов .yml, раньше существовал плагин для Workbench, который делал это, но, к сожалению, этот LUA больше не поддерживается.Это сработало отлично, но очень плохо, потому что если вы используете MySQL Workbench, плагин в идеале будет самым удобным и быстрым способом экспорта вашей базы данных в виде сущностей в ваш проект Symfony.
Итак, следующее лучшее решение, которое я нашел, — это установка утилиты, которую можно запустить из приложения/консоли Symfony, под названием «mysqlworkbenchschemaexporter
".С помощью этой утилиты вам нужно будет сохранить файлы Workbench (*.wmb), а затем загрузить их в папку, после чего станут доступны следующие команды приложения/консоли:
app/console mysqlworkbenchschemaexporter:dump
app/console mysqlworkbenchschemaexporter:withRepository
Не покупая инструмент ORM, такой как Skipper, который стоит более 300 долларов, я нашел недавно обновленное решение, которое поддерживается в:
https://github.com/turnaev/mysql-workbench-schema-exporter-symfony2-bundle
Я надеюсь, что это поможет другим разработчикам Symfony сэкономить время на создании сущностей и сопоставлениях ORM!
При использовании Symfony 1.x лично я предпочитаю следующий процесс:
- спроектируйте модель с помощью верстака
- используйте опцию «синхронизировать модель», чтобы применить изменения к БД
- запустите задачу propel:build-schema, чтобы обновить файл Schema.yml.
- запустите задачу propel:build --all-classes (подразумевается модель, формы и фильтры)
Пожалуйста, обрати внимание:шаг 3 перезапишет весь файл Schema.yml.Если вам нужно добавить к нему специальные настройки, просто добавьте в свой проект Schema.custom.yml, и все готово.
Если экспорта из MySQL Workbench недостаточно, вы можете попробовать наш инструмент Skipper — ранее ORM Designer (я главный разработчик).С помощью Skipper вы также можете определять и экспортировать поведение, конкретный столбец/таблицу/...атрибуты и многое другое.