Недавно я познакомился с проектом Sylius и пытался повторно использовать его компоненты в отдельном проекте (только для изучения).
Моей целью было проверить, могу ли я использовать компоненты sylius в отдельном проекте. Только несколько компонентов.
Следуя документации (http://sylius-older.readthedocs.io/en/latest/components/Order/basic_usage.html), Я смог установить компоненты и использовать их классы, но как мне сделать таблицы базы данных?
Я установил учение и попытался сопоставить классы, но не смог.
Я думал о создании миграции (доктрина или красноречивый) для каждой таблицы и выполнения действий (CRUD).
Спасибо большое, ребята.
Предполагая, что вы установили OrderBundle с помощью Composer, вам, вероятно, придется сообщить Doctrine, где читать сопоставление сущностей. В случае OrderBundle Sylius они хранятся в виде XML-файлов в Resources / config / doctrine / models, например, Order.orm.xml. Если вы посмотрите на Пример конфигурации в DoctrineBundle-рецепте Вы можете найти ссылку для ручного отображения. В вашем случае это, вероятно, должно выглядеть примерно так:
# app/config/config.yml (in Symfony 3.4)
# config/packages/doctrine.yaml (in Symfony 4)
doctrine:
dbal:
...
orm:
mappings:
SyliusOrderBundle:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/../vendor/sylius/order-bundle/Resources/config/doctrine/models'
prefix: 'Sylius\Component\Order\Model'
alias: SyliusOrder
Возможно, вам придется настроить это, например, если у вас есть приложение Symfony 4, но при этом вы сможете создавать соответствующую схему, используя команды Doctrine по умолчанию. Возможно, вам также придется настроить auto_mapping
под doctrine.orm
и, возможно, вручную сопоставить ваши собственные объекты, если вы делаете это.
Других решений пока нет …