TGViewer
SQL Pro SQL Pro @sqlprofi · 4.91K subscribers
Post #571 2.06K
Трюк дня. Что такое миграции и как создать миграции бд postgresql?

Миграции - инструмент для перевода базы из одного состояния в другое. Своего рода git для бд.

Обычно когда просят написать миграцию, то имеют ввиду SQL-файл, выполнение которого переведёт схему базы в новое состояние. То есть файл с инструкциями типа create table, alter table и тд. Часто необходим и второй файл - файл отката, который вернёт всё к исходному состоянию.

Так как последовательность применения таких файлов очень важана (например, в первой миграции создали таблицу, а во второй модифицируем её), то имена файлов содержат возрастающий идентификатор миграции. Часто этот идентификатор - просто дата и время миграции:

migrations/
- 20220728102400_create-foo-table_up.sql
- 20220728102400_create-foo-table_down.sql

Инструмент миграции применяет SQL-файл и помечает (обычно в той же базе данных, в своей служебной табличке), что миграция с этим идентификатором уже применена. При повторном запуске применённые миграции будут пропущены. Соответственно применённую миграцию можно откатить, найдя down-файл с нужным идентификатором.

#tips
  • 👍 9
  • 🔥 2
  • 🤔 1
  • 🥱 1
More from @sqlprofi
  1. Oct 7, 2026❔ Вопрос с собеседования Как работает SQL-триггер? Ответ: Когда происходит событие, СУБД а…
  2. Oct 2, 2026SELECT order_id FROM order_table o JOIN customer c ON o.customer_id = c.customer_id WHERE…
  3. Aug 17, 2026Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql…
  4. Aug 10, 20265 обязательных книг по SQL 1⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс Эта книга по…
  5. Jul 28, 2026Трюк дня. Сравнение с предыдущим. Решение. Решение: использование DATEDIFF DATEDIFF: эта ф…
  6. Jul 28, 2026Трюк дня. Сравнение с предыдущим Напишите SQL-запрос, который находит в таблице weather вс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →