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

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024
  • Работа с базами данных является важным аспектом разработки программного обеспечения, и миграции БД играют ключевую роль в обеспечении гибкости и управляемости изменений. Они необходыми если мы хотим контролируемо обновлять версии схемы (таблиц) в Базе данных.
    В видео мы обсудим:
    Что такое миграции БД и для чего они нужны
    Какие проблемы решают миграции БД
    Основные способы работы с миграциями и их плюсы и минусы
    Популярные инструменты для работы с миграциями, такие как Entity Framework и Flyway
    Примеры применения миграций в реальных проектах на C#
    Ссылка на оригинальный стрим: ruclips.net/user/li...
    Ссылка сообщение где есть файл с домашками: t.me/cleannetc...
    ==================================================
    У нас есть активное сообщество, которое собирается в телеграм чате и на Github для обсуждения различных тем и обмена знаниями. Хотите развиваться и быть в курсе последних трендов в разработке? Присоединяйтесь к нам!
    Телеграм чат: t.me/cleannetcode
    Discount: / discord
    Github: github.com/cle...
    LinkedIn: / 9315319
    VK: cleanne...
    Facebook: / cleannetcode
    ==================================================
    Если вам нравится контент, который мы создаем, и вы хотите поддержать нас, то можете сделать это через следующие платформы:
    Donationalerts: www.donational...
    Boosty: boosty.to/clea...
    #Cleannetcode

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

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

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

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

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

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

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

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

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

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

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

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

    1:27 начало

  • @user-uj8om6ee1f
    @user-uj8om6ee1f 10 месяцев назад

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

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

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

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

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

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

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

  • @botcser
    @botcser 8 месяцев назад +1

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

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

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

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

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

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

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

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

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