Laravel курс с нуля, база. 13. Миграции. Редактирование миграций

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 104

  • @НиколайГолодов-э1и
    @НиколайГолодов-э1и 3 роки тому +48

    12 уроков залпом проглотил, но тут сделал передышку, просто чтобы сказать: "Господи, какое счастье, что есть такой курс!!" Огромное спасибо автору за труд!! Если напишешь номер карты, скину на пиво!

    • @laravelcreative
      @laravelcreative  3 роки тому +1

      Ахаха, спасибо за такой отзыв)! Благодарю!)

    • @НиколайГолодов-э1и
      @НиколайГолодов-э1и 3 роки тому +3

      @@laravelcreative , посмотрел полностью первый курс. Предложение с пивом все ещё в силе.

    • @laravelcreative
      @laravelcreative  3 роки тому +1

      Ахаха, спасибо!)

    • @Goboz1
      @Goboz1 Рік тому +1

      @@НиколайГолодов-э1и присоединяюсь к этому предложению

  • @антон-б1м
    @антон-б1м 3 роки тому +19

    "Обновляем страницу, её нет. О боже мой, её нет"
    посмеялся, спасибо)
    очень доступно объясняешь, огромное спасибо за труды и твоё время)

  • @konstantinvolkov2629
    @konstantinvolkov2629 4 місяці тому +1

    Отличный курс, спасибо. Ларавел очень порадовал. До этого писал на джаве, ничего подобного из коробки там нет. Тут все продумано и есть все что нужно для реальных проектов.

  • @АнтонСурыгин-ф9ж
    @АнтонСурыгин-ф9ж 9 місяців тому

    Спасибо! Очень подробный урок. Про миграции, не видел более развернутого урока.

  • @ЛиЛи-с1и
    @ЛиЛи-с1и 2 роки тому +2

    Спасибо автору, ты красавчик! Все понятно даже тем кто новичок

  • @boris5164
    @boris5164 2 роки тому +3

    Не понимаю почему так мало лайков из 6 тыс. просмотров.
    Материал Laravel курс с нуля и в частноти Laravel / Migration - подача материала на 5 из 5.
    Автору огромное спасибо! Видно - PRO, своего дела.
    Макаренко позавидовал бы умению все разжевать. 👍☝

    • @sezamiti
      @sezamiti 2 роки тому

      не все авторизируются, многие смотрят без аккаунта)

  • @kashevsky
    @kashevsky 2 роки тому +1

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

  • @olegandrianov9493
    @olegandrianov9493 Місяць тому

    Курс изумительный. Сложные моменты можно смотреть дважды или трижды. Всё делать ручками, на практике. Чуть-чуть меняйте задачу чтобы мозг не привыкал к одному и тому же. Автору предлагаю показать как сделать прям пару боевых задач. Чтобы люди понимали что будет на самом деле.

  • @tigranavagyan1587
    @tigranavagyan1587 2 роки тому +1

    Прикольная подача информации, мне понравилось. Спс за твой труд.

  • @AnnaS-v3x
    @AnnaS-v3x Рік тому

    Потрясающе! Спасибо за курс, учим дальше

  • @chifakachef
    @chifakachef 9 місяців тому +2

    спасибо за уроки, все шло хорошо до момента с изменением наименования колонки помимо того что нужно было установить doctrine/dbal, она была установлена но из за того что на текущий момент версия 4.0 выходила ошибка при миграции
    Declaration of Illuminate\Database\PDO\Concerns\ConnectsToDatabase::connect(array $params) must be compatible with Doctrine\DBAL\Driver::connect(array $params): Doctrine\DBAL\Driver\Connection
    получилось решить таким образом: нашел файл composer.json в нем поменял версию "doctrine/dbal": "^3.0.0". После этого сделал "composer update"
    после этих действий миграция прошла успешно

    • @alexles5003
      @alexles5003 3 місяці тому

      Спасибо. Работает

  • @SKotov_
    @SKotov_ 9 місяців тому

    Огонь, что тут еще скажешь)

  • @klapperbein6632
    @klapperbein6632 Рік тому +1

    Отлично всё работает^3 ))))

  • @ruslansarbalin1297
    @ruslansarbalin1297 2 роки тому

    посмотрел пхп для ларавел очень понравилось, вот продолжаю смотреть другие плейлисты, спасибо!

  • @Isiah-Thomas
    @Isiah-Thomas 3 роки тому +2

    Огромное спасибо!

  • @vimitali7630
    @vimitali7630 3 роки тому +1

    Спасибо, за урок!

  • @vasiliydrogovozov4285
    @vasiliydrogovozov4285 2 роки тому

    Отличный курс! Спасибо вам большое!)

  • @dimanamumchak5370
    @dimanamumchak5370 3 роки тому +1

    хороший урок!!

  • @ebirdori9498
    @ebirdori9498 Рік тому +2

    Здравствуйте, у меня получается так, что при роллбэке или просто при выполнении php artisan migrate - выполняютмя обе миграции и по итогу колонка создаётся и тут же удаляется или наоборот, но колонка всё равно не появляется . Как можно это пофиксить кроме как закомментированием предыдущей миграции?

    • @Razrabotchik.
      @Razrabotchik. Рік тому

      Разобрались? Такая же беда, пришлось использовать костыль, запуская конкретную миграцию:
      php artisan migrate --path=/database/migrations/2023_11_07_164728_edit_column_content_to_posts_table.php

    • @ebirdori9498
      @ebirdori9498 Рік тому

      @@Razrabotchik. Да, но не помню как)

  • @ВячеславКомков-ъ1д
    @ВячеславКомков-ъ1д 2 роки тому +2

    тайминг 9:50 - накатили, а потом еще раз накатили...так и спиться можно... :)

  • @graceman999
    @graceman999 Рік тому +1

    18:20 Аха)) "нормально всё теперь" - ни одного поста в таблице не осталось)

  • @Batthedoff
    @Batthedoff 2 роки тому +1

    Почему исполняет последнюю созданную миграцию? как мне выполнить какую-то другую?

  • @alexgud6467
    @alexgud6467 3 роки тому +1

    у меня после миграции с методом after новый столбец все равно в конец таблицы добавляется 🤔
    работаю с postgreSQL в pgAdmin

    • @laravelcreative
      @laravelcreative  3 роки тому

      Да в постгресе есть такая фишка) И это еще зависит от приложения для просмотра бд)

  • @rainylofi3532
    @rainylofi3532 3 роки тому

    Спасибо все получилось

  • @ВиталийДавыдов-э4г
    @ВиталийДавыдов-э4г 2 роки тому +3

    куда потом девать огромное количество файлов миграции ? что с ними делать?

    • @Игривчик
      @Игривчик 2 роки тому +1

      Ничего не делать. Они должны быть там всегда. С помощью них в последствии можно накатить или откатить полностью все изменения, которые когда-либо были сделаны. Ну, и для истории.

    • @ВиталийДавыдов-э4г
      @ВиталийДавыдов-э4г 2 роки тому +1

      @@Игривчик Так их может скопится сотни или тысячи , если это большой проект ..

    • @Игривчик
      @Игривчик 2 роки тому

      @@ВиталийДавыдов-э4г Так это текстовые файлы, они занимают места мало. Даже если там будет 1000 файлов по 10 КБ - это всего около 10 МБ

  • @ВиталийДавыдов-э4г
    @ВиталийДавыдов-э4г 2 роки тому +1

    а почему не сделать проще - рефреш или фрешь ? в чём причина?

  • @andrerussian4016
    @andrerussian4016 Рік тому +1

    после выполнения миграции delete вы выполнили её откат (rollback). Как laravel понял, что нужно откатить миграцию delete, а не add_column с удалением колонки? Ну или почему не выполнился rollback для add_column?

  • @viktor.savchenko
    @viktor.savchenko 2 роки тому

    День добрый. У меня migrate:rollback удаляет все подчистую, включая таблицу posts, что не так?

    • @viktor.savchenko
      @viktor.savchenko 2 роки тому

      Разобрался, корректно работает если сначала указывать после какой колонки идет вставляемый столбец и потом заполнение ничем. Откатывать нужно по шагам (--step=1 или 2 и тд), хотя не обязательно.

  • @ddrdeveloper
    @ddrdeveloper 3 роки тому +4

    конвенция? Есть же опция --table="тут указываем таблицу".
    А to_posts_table - совсем не очевидно.

    • @Dmitry_RS
      @Dmitry_RS 2 роки тому +1

      Если так напишешь то он не создаст в этой миграции:
      Schema::table('posts', function (Blueprint $table) { // });
      А сделает просто пустые up и down

  • @konovalchuk1251
    @konovalchuk1251 Рік тому +4

    Хэй!! ЕСЛИ У ВАС ПРОБЛЕМА ПРИ УСТАНОВКЕ DBAL : Installation failed, reverting ./composer.json and ./composer.lock to their original content.
    пробуйте следующую команду: composer require doctrine/dbal:2.*
    Если ошибка не уходит: перейдите в директорию с установленным php (примерный адрес C:\php-8.1.18-nts-Win32-vs16-x64) в файл php.ini и расскомментируйте extension=fileinfo и extension=pdo_mysql. После чего запустите команду composer require doctrine/dbal:2.*

    • @АлександрКопылов-и5г
      @АлександрКопылов-и5г Рік тому +1

      Благодарю тебе добрый человек! раскомментила extension=fileinfo + composer require doctrine/dbal и всё заработало

    • @laravelcreative
      @laravelcreative  Рік тому +1

      Благодарю!)

  • @suslikest3708
    @suslikest3708 2 роки тому

    Лойс!

  • @АлександрБурый-ф3й

    У меня почему-то терминал php-шторма не видит composer, но dbal (composer require doctrine/dbal) установилось через терминал винды(cmd)

  • @ЛукаМудищев-ъ1ж
    @ЛукаМудищев-ъ1ж 12 днів тому

    Как же функция change() описанная в документации?
    Schema::table('users', function (Blueprint $table) {
    $table->string('name', 50)->change();
    });

  • @Epenckorn
    @Epenckorn 3 місяці тому

    один только вопрос. вот мы удаляем атрибут через миграцию удаления. атрибут удаляется. Но в этом атрибуте у некоторых объектов могли быть данные. Вопрос - откат этой миграции не вернёт удалённые данные. так ведь?

  • @alexandr9900
    @alexandr9900 2 роки тому

    камент для продвижения канала, спасибо!

  • @КостяПросто-э3п
    @КостяПросто-э3п 2 роки тому

    При создании миграции у меня почему-то пустые методы up и down.

  • @irinatagaeva3371
    @irinatagaeva3371 2 роки тому

    Спасибо за урок
    Но не поняла зачем делать миграцию delete_column....
    в каких случаях такое нужно

  • @YeremaAlmaty
    @YeremaAlmaty 2 роки тому

    Вы прекрасны

  • @Genkay_777
    @Genkay_777 2 роки тому

    Не знаю в чем дело . Не работают команды firts и after , делаю всё как надо , не пойму в чем проблема ...

    • @Максим-ю6б3ь
      @Максим-ю6б3ь Рік тому

      sqlite поддерживает вставку столбцов только в конец

  • @psychoakustic
    @psychoakustic Рік тому

    Кааааайф!

  • @maxichannel9080
    @maxichannel9080 Рік тому

    Здравствуйте. Подскажите, как сделать, что бы ответы в командной строке такие как: Migrating: или Migrated: были цветные и выделялись зеленым цветом?

    • @laravelcreative
      @laravelcreative  Рік тому

      Расширения можно для ставить или для баш, если отдельно используешь:)

    • @maxichannel9080
      @maxichannel9080 Рік тому

      @@laravelcreative Понял. Спасибо большое.

  • @Tech-m3o
    @Tech-m3o Рік тому

    dball уже можно не устанавливать, в новых версиях Laravel (у меня ^10.10), renameColumn будет работать без ошибки

    • @Olegcowboyoleg
      @Olegcowboyoleg 11 місяців тому

      Illuminate\Database\QueryException
      SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL
      server version for the right syntax to use near 'column `content` to `post_content`' at line 1 (Connection: mysql, SQL: alter table `posts` rena
      me column `content` to `post_content`)

  • @diasilkenov7223
    @diasilkenov7223 Рік тому +1

    В 10 версии Laravel уже не надо устанавливать Doctrine DBAL

  • @ВикторЗотов-л4э
    @ВикторЗотов-л4э Рік тому +1

    Не проще ли вместо add_tablename... писать alter_table...?)))

  • @BasovMarketing
    @BasovMarketing 2 роки тому +2

    Блин, а какая логика в этом со стороны ларавел? не проще ли делать все изменения в mysql редакторе и работать с моделью для вытаскивания .. обновления записей и все го остального - без миграции. Не понимаю....
    еще вопрос такой, если я создал миграцию на смену названия - неапрмер tile на title2, но позже я хочу создать еще одну миграцию на смену другого столба, например desc на desc2 - нужно создавать отдельную миграцию и отдельный файл или уже в существующем просто заменить значения? Логика использования этого не понятно, так как ладно если у тебя 3 таблицы, а если 50 таблиц и больше, и ты работаешь с ними более активно - можно все сделать в редкаторе быстро, или можно потратить тонну времени на 100500 миграций ? на каждый 20 изменений в базы данных - будет создано 1000 файлов, мало того что бы они работали - например откат миграции на первоначальном create нужно еще и вручную названию колонок менять, если в будущем ты их сменил в новой миграции.

    • @Игривчик
      @Игривчик 2 роки тому +3

      Миграции нужны для того, чтобы при выливке на прод они автоматически запустились и все изменения применились сразу на проде. Потому что пока ты будешь вручную что-то там менять в базе, у тебя сайт может лежать в это время, потому что модели изменились, а база - ещё нет. Плюс бывает, что у разработчика нет доступа на прод вообще по соображениям безопасности заказчика, тогда в ручную на проде поменять ничего не получится, только миграциями.

    • @webvorobey
      @webvorobey 2 роки тому

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

  • @alcoholic_monk
    @alcoholic_monk 3 роки тому +1

    то есть если я делаю роллбак на удалённую таблицу то я не откатываю а просто создаю таблицу заново,
    но это же нельзя назвать роллбеком, потому что данные удаляются, неужели нет механизма, чтобы запоминать данные которые были в таблице до удаления. P.S Спасибо за ваш труд)

    • @laravelcreative
      @laravelcreative  3 роки тому +2

      Увы нет) Если только поверх создать еще одну миграцию на изменение, в которой будет внесено изменение в эту существующую таблицу, тогда данные останутся:)

  • @soversus5374
    @soversus5374 Місяць тому

    Не понял главного. Для чего вся эта суета с миграциями?
    Не проще ли в редакторе создавать/удалять таблицы и колонки?
    Что это за фетиш такой?

  • @targetedindividual4176
    @targetedindividual4176 2 роки тому

    👍👍👍

  • @lekbit9865
    @lekbit9865 3 роки тому

    А что делать в случае, если запустил migrate и поменял название колонки в content->content_posts, а потом rollback в content_posts->contentS и только потом заметил, что 'S' была лишней. Как правильно исправлять данную ситуацию? Создавать новую миграцию с переименованием contentS в content и к нему rollback соответственно?

    • @laravelcreative
      @laravelcreative  3 роки тому +1

      Просто прописываешь в мигации на up еще раз корректировку. Накатываешь. Потом в down прописываешь еще раз какую надо корректировку, делаешь down. И затем снова можешь прописать на up то что надо и всё. Просто помни, что up и down это просто методы, которые реализуют всё то, что ты там написал. Ты можешь просто создание таблицы даже в down прописать, и на роллбеке, он тебе её создаст.. То есть это не принципально

  • @ДедИндиго-р1б
    @ДедИндиго-р1б 3 роки тому

    А где можно более подробно посмотреть-почитать про artisan и как правильно именовать миграции? И еще такой вопрос... Миграции нужны только как инструмент для разработки, или они принимают участие на протяжении всей жизни сайта?

    • @laravelcreative
      @laravelcreative  3 роки тому +2

      Они инициируют создание таблиц, если таковых нет. И по сути всегда должны присутствовать в папке миграций. Все детали можно почитать в официальной документации, рекомендую английскую)

  • @ОлегЕ-и7х
    @ОлегЕ-и7х 2 роки тому

    Автору большое спасибо! Вопрос: а как правильно удалить созданную миграцию? Сделать rollback и файл с миграцией ручками удалить?

    • @laravelcreative
      @laravelcreative  2 роки тому

      Пиши в тг канал по вопросам, там чат-обсуждение)

    • @Olegcowboyoleg
      @Olegcowboyoleg 11 місяців тому

      @@laravelcreative а адрес ТГ-канала? Я так и не нашел нигде.

  • @urish1821
    @urish1821 Рік тому

    11:43 😂

  • @Dmitry_RS
    @Dmitry_RS 2 роки тому

    Пару вопросов:
    1) Как то можно обратиться к уже созданной ранее миграции, например я удалил таблицу, rollback ее сделал, но не вписал в него колонку description. Могу ли я как то запустить уже созданную ранее миграцию где уже было создание description чтобы она накатила ее по новой?
    2) Или например сделал я миграцию и потом еще парочку, но вдруг я захотел получить rollback по первой созданной миграции, я могу это сделать или писать новую миграцию?

    • @laravelcreative
      @laravelcreative  2 роки тому

      Пиши в тг канал по вопросам, там чат-обсуждение)

  • @mr.jivchik
    @mr.jivchik 3 роки тому +2

    Шеф, а деплой будет? 👆 тут обещал 😂

    • @laravelcreative
      @laravelcreative  3 роки тому +4

      Когда пройдем git и docker:)

    • @mr.jivchik
      @mr.jivchik 3 роки тому +1

      @@laravelcreative ок, пойду за попкорном тогда. ☺️

  • @simpleview1433
    @simpleview1433 4 місяці тому

    1635

  • @evgenn787
    @evgenn787 2 роки тому

    Спасибо дружище !

  • @Cadregich
    @Cadregich 2 роки тому

    Спасибо друг!