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

Комментарии • 19

  • @bukachuk_php
    @bukachuk_php  25 дней назад

    Если у вас остались какие-либо вопросы, вы всегда можете спросить меня здесь, в комментариях. Также если вы нашли баг или знаете как что-то реализовать можно лучше, вы можете добавить эту информацию в комментариях 😀

  • @disconnect3763
    @disconnect3763 10 дней назад +1

    Как никогда мне это нужно. ❤

  • @kol9di4
    @kol9di4 Месяц назад +1

    Михаил, сасибо за, наверное, единственные нормальные видео по актуальной версии симфони. Сил тебе продолжать, спасибо за контент!

  • @user-ch4zx8nd9d
    @user-ch4zx8nd9d 2 месяца назад +2

    когда начинаешь понимать как все это работает аж радостно в душе становится...

  • @jimbojet8584
    @jimbojet8584 Месяц назад +1

    bconsole doctrine:migrations:migrate prev - откатить миграцию
    bconsole doctrine:migrations:list - посмотреть миграции че и как
    bconsole doctrine:migrations:status
    bconsole make:entity что бы добавить поля в существующей энтити, то указываем в какой хотим, а далее как при создании

  • @user-im6ss6uv9g
    @user-im6ss6uv9g 3 месяца назад

    Круто, спасибо!

  • @user-fq4wx7mv2g
    @user-fq4wx7mv2g 3 месяца назад +1

    спасибо!

  • @kerob_k
    @kerob_k 5 месяцев назад +2

    как раз пришло время разобраться что за звери эти атрибуты)

  • @user-gc6yd5bd5m
    @user-gc6yd5bd5m 3 месяца назад +1

    Круто

  • @wiktor_bojanow
    @wiktor_bojanow 5 месяцев назад

    Я все время, кодил на Laravel, сейчас хочу изучить симфони. Существенное отличие что в Laravel один файл Eloquent Model, заменяет 2 сдесь, Repository и Entity, ну еще и миграции в Laravel делаются удобнее, описывются как обьекты.

    • @bukachuk_php
      @bukachuk_php  5 месяцев назад +1

      Не уверен, что миграции объектами удобно, тк бывают случаи когда миграцию надо накатить быстро руками и тут возникает вопрос как превратить быстро это в SQL запрос

  • @wladoxa
    @wladoxa 3 месяца назад

    Чтобы генератор getter/setter в PHPStorm возвращал в set $this = не нужно никакие шаблоны крутить. В окне где выбираешь на какие свойства генерировать сеттеры - нужно поставить галочку внизу Fluent setters или как то так)

    • @bukachuk_php
      @bukachuk_php  3 месяца назад

      У меня на канале посмотрите есть шортс про это, у меня всего у пока шортса

    • @wladoxa
      @wladoxa 3 месяца назад

      @@bukachuk_php я же вам говорю, не нужно дописывать шаблон сеттера вручную. Всё это уже сделано за вас в галочке Fluent setters при генерации.

    • @bukachuk_php
      @bukachuk_php  3 месяца назад

      @@wladoxa аа, спасибо, нужно посмотреть))

  • @arina-ef4uw
    @arina-ef4uw 2 месяца назад +1

    если у кого-то будет ошибка "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

  • @user-gc6yd5bd5m
    @user-gc6yd5bd5m 3 месяца назад +1

    In DoctrineHelper.php line 177:
    Attempted to load class "DisconnectedClassMetadataFactory" from namespace "Doctrine\ORM\Tools".
    Did you forget a "use" statement for another namespace?

    • @bukachuk_php
      @bukachuk_php  3 месяца назад

      Проверьте что имя файла и класса entity совпадает и в них верные namespace, также попробуйте очистить кэш командой - php app/console cache:clear --env=dev или руками удалите папку dev в cache

    • @user-gc6yd5bd5m
      @user-gc6yd5bd5m 3 месяца назад

      composer update помог. почему то в первый раз не полностью установилось@@bukachuk_php