Symfony 6 курс. Урок 3. Создание миграции базы данных, создание сущности Entity и CRUD
HTML-код
- Опубликовано: 6 июн 2024
- Ссылка на репозиторий с кодом: github.com/bukachukcom/symfony6
Введение в миграцию базы данных:
В данном видео рассматривается процесс создания миграции базы данных, создание сущности Entity и реализация основных операций CRUD (Create, Read, Update, Delete) в контексте разработки программного обеспечения.
Начало работы с миграцией:
Объяснение понятия миграции базы данных. Зачем нужны миграции и как они облегчают процесс обновления схемы базы данных.
Демонстрация процесса создания первой миграции.
Использование инструментов для управления миграциями (например, в контексте веб-фреймворка или ORM).
Объяснение, что такое сущность (Entity) в контексте базы данных.
Процесс создания новой сущности с определением ее полей и свойств.
Генерация простейшего CRUD с помощью генератора кода Symfony framework
Все видео курса:
• Symfony фреймворк
00:00 Файл настроек проекта .env и .env.local
02:40 Создание базы данных Mysql с помощью Symfony CLI утилит
05:00 Создаем PHP класс Entity с помощью кода-генератора Symfony фреймворка
08:00 Создание пустого файла миграции с помощью утилит
12:00 Использование doctrine:migrations:diff для генерации запросов миграции
14:00 Использование php аттрибутов для настройки полей Entity
18:00 Запуск миграций и разбор механизма их работы
23:00 Создание первого объекта и сохранение его в базу данных
26:00 Извлечение объектов из базы данных с помощью класса репозитория
33:00 Создание CRUD контроллера с помощью генератора кода и разбор генерированного кода
#обучение #программирование #обучающие #php #symfony #doctrine #php8
Если у вас остались какие-либо вопросы, вы всегда можете спросить меня здесь, в комментариях. Также если вы нашли баг или знаете как что-то реализовать можно лучше, вы можете добавить эту информацию в комментариях 😀
Как никогда мне это нужно. ❤
Михаил, сасибо за, наверное, единственные нормальные видео по актуальной версии симфони. Сил тебе продолжать, спасибо за контент!
когда начинаешь понимать как все это работает аж радостно в душе становится...
bconsole doctrine:migrations:migrate prev - откатить миграцию
bconsole doctrine:migrations:list - посмотреть миграции че и как
bconsole doctrine:migrations:status
bconsole make:entity что бы добавить поля в существующей энтити, то указываем в какой хотим, а далее как при создании
Круто, спасибо!
спасибо!
как раз пришло время разобраться что за звери эти атрибуты)
Круто
Я все время, кодил на Laravel, сейчас хочу изучить симфони. Существенное отличие что в Laravel один файл Eloquent Model, заменяет 2 сдесь, Repository и Entity, ну еще и миграции в Laravel делаются удобнее, описывются как обьекты.
Не уверен, что миграции объектами удобно, тк бывают случаи когда миграцию надо накатить быстро руками и тут возникает вопрос как превратить быстро это в SQL запрос
Чтобы генератор getter/setter в PHPStorm возвращал в set $this = не нужно никакие шаблоны крутить. В окне где выбираешь на какие свойства генерировать сеттеры - нужно поставить галочку внизу Fluent setters или как то так)
У меня на канале посмотрите есть шортс про это, у меня всего у пока шортса
@@bukachuk_php я же вам говорю, не нужно дописывать шаблон сеттера вручную. Всё это уже сделано за вас в галочке Fluent setters при генерации.
@@wladoxa аа, спасибо, нужно посмотреть))
если у кого-то будет ошибка "Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL80Platform may not support it. ", то в doctrine.yaml добавьте mapping_types:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
use_savepoints: true
mapping_types:
enum: string
In DoctrineHelper.php line 177:
Attempted to load class "DisconnectedClassMetadataFactory" from namespace "Doctrine\ORM\Tools".
Did you forget a "use" statement for another namespace?
Проверьте что имя файла и класса entity совпадает и в них верные namespace, также попробуйте очистить кэш командой - php app/console cache:clear --env=dev или руками удалите папку dev в cache
composer update помог. почему то в первый раз не полностью установилось@@bukachuk_php