Что такое миграция БД и как с ней работать

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

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

  • @Cleannetcode
    @Cleannetcode  Год назад

    Если у вас есть какие либо по теме миграции БД пишите в комментариях.\
    Буду рад помочь :)

    • @wtpsu
      @wtpsu Год назад

      У меня есть и какие и либо. Рад не будешь, оптимист хренов.

  • @yotoztv
    @yotoztv 9 месяцев назад +2

    Спасибо, стало чуть понятней. Искал чтобы понять что вообще такое миграция

  • @HeIvis
    @HeIvis Год назад +3

    А как часто миграции применяются в реальных проектах?

    • @Cleannetcode
      @Cleannetcode  Год назад +2

      В проектах, в которых я участвовал и участвую они есть всегда в том или ином виде.
      Тут важно понимать что инструменты для разработки миграций БД в разы улучшают возможность контроллировать версии БД (имеются ввиду именно таблицы, иногда БД путают с СУБД). К тому же подобные инструменты удачно вписываются в концепции CI/CD, который также применяется на многих проектах.
      Без подобного инструмента, как я уже сказал в видео вы будуте обновлять схемы таблиц запуская скрипт руками. А это создает возможность ошибиться (человеческий фактор)

  • @devospos
    @devospos 7 месяцев назад

    1:27 начало

  • @lifebase2427
    @lifebase2427 8 месяцев назад

    "Что такое миграция БД и как с ней работать" иии ничего не сказал ....чтото вспоминал, по 4 раза повторял.
    И как с ней работать???? привел 2 примера ... оба плохие, тогда с чем работать???
    Как быть если на продакшен сервере нет БД - только вот новую ставить? -как???
    Если Есть? -надо обгрейдить просто из 3 таблиц надо в одну 1 столбец добавить?
    или надо таблицу добавить?
    Может ктото ответит что лучше миграцию писать или потом когда приспичить с сервера хардкодить руками?????

    • @Cleannetcode
      @Cleannetcode  8 месяцев назад

      Возможно ты про какие то другие миграции говоришь, я не вкурсе :) Если на сервере нет БД, но она тебе нужно, то тебе нужно установить туда подходящую СУБД и затем с помощью скриптов восоздать нужную тебе БД. Скрипты могут быть супер разными, все зависит от СУБД. На этой нарезке со стрима я показывал в подробностях как это не сложно делается для SQL-like баз с помощью dotnet ef. Не очень понял твой вопрос про то, что лучше писать руками или хардкодить. Но что точно могу сказать, что хорошо когда ты сохраняешь где нибудь файлики со скриптами для воссоздания БД. С ними будет явно проще работать, чем если их нет.

    • @lifebase2427
      @lifebase2427 8 месяцев назад

      @@Cleannetcode хардкодить и есть писать все руками.
      зайти в mysqlAdmin создать таблицу заполнить столбцы, создать другую, сделать связи.
      И делать посредством миграции...

  • @ЕрасылАйдарханов-я8с

    Это ты я Алишер бота

  • @botcser
    @botcser Год назад +1

    Интересно, написал сам гавнокод и сам сидит его обсирает)
    А роллбек через восстановление файла БД из кода не?
    Что же это за сервер, который не имеет полного доступа к бд.

    • @Cleannetcode
      @Cleannetcode  Год назад +2

      Что же это за тон общения, неужели из-за того, что у тебя немного иной опыт работы это не дает тебе возможности использовать такой тон в общении, не :)
      Ну а если по делу:
      Запускать роллбеги и миграции в целом можно и из кода если тебе так удобно, я показываю как делаю сам и так работают мои коллеги. Хотя бывают и проекты где для миграции запускают из кода или даже пишут отдельный миграционный модуль.
      Но как правило скрипта с использованием ef tool хватает и это более гибкое решение, так как его очень легко расширить или вовсе заменить. Например на использование того же flyway.
      Сервер может иметь доступ к БД ровно с теми правами, что задумали авторы решения. В некоторых случаях, например в случаях больших систем и шаринга одной базы, права доступа жестко ограничиваются. А бывают банально у тебя команда из джунов и тебе нужно естественным образом ограничить им доступы. В общем каждой проблеме свое решение :)

    • @botcser
      @botcser Год назад

      @@Cleannetcode
      Я сказал, как есть - ты написал минималистичный код по понятным причинам с некоторыми недостатками, которые же сам критикуешь, хотя ничего в принципе не мешало дописать без этих недостатков. А вот если бы ты привел полный код и уже его критиковал - тогда совсем другой разговор и сравнение было бы уместно.
      Джунам задача на роллбек и миграцию рили? Впринципе джунам доступ к прод базе? К серверу, модулям с доступом к прод базе? Это как дать доступ на запись к гиту без подтверждения.

    • @Cleannetcode
      @Cleannetcode  Год назад

      @@botcser а как по твоему этому учиться? :)

    • @Cleannetcode
      @Cleannetcode  Год назад

      @@botcser и я все пытаюсь понять о какой критике кода ты говоришь? Просто я в этом видео код особо и не показываю. Разве что пример того, как можно запускать миграцию из кода и упомянаю что мне этот подход не нравится, но имеет место быть. В чем проблема то? :)