Практичне завдання

Мета

Освоїіти роботу міграції для можливості повної автоматизації деплоїв

Опис команд

Давайте розглянемо команди, які продемонструють принципи роботи з міграціями бази даних.

Конфігурування бекенду

Ця команда копіює файл .env.default до файлу .env. Файл .env містить конфігураційні параметри, такі як налаштування бази даних, API ключі тощо, які використовуються додатком.

cd backend
cp .env.default .env

Запуск бекенду

Ця команда спочатку переміщує вас в директорію backend, а потім запускає всі сервіси, визначені у файлі docker-compose.yml, у фоновому режимі (прапор -d - детачений режим).

docker compose up -d

Запуск контейнеру з інструментом міграцій

Ця команда запускає командний інтерпретатор Bash всередині контейнера з іменем migrations. Опції -it дозволяють вам взаємодіяти з ним в інтерактивному режимі.

docker compose exec -it migrations bash

Превірка стану міграцій

alembic check зазвичай використовується для перевірки стану міграцій. Ваша команда перевіряє, чи є актуальними міграції бази даних.

alembic check

Міграція

Ця команда застосовує всі міграції до "верхньої" версії (тобто до останньої). Це оновлює структуру бази даних до поточного стану вашого коду.

alembic upgrade head

Відкат до певної версії

Ця команда відкочується до певної версії міграцій (в цьому випадку до версії з ідентифікатором 0002). Це означає, що всі міграції, застосовані після версії 0002, будуть відмінені.

alembic downgrade 0002

Міграція

Ця команда знову застосовує всі міграції до "верхньої" версії після того, як ви відкочилися до версії 0002.

alembic upgrade head

Повторна перевірка стану міграцій

Ця команда повторно перевіряє стан міграцій після всіх змін.

alembic check

Принципи роботи з міграціями

  • Алеmbic: Це інструмент для керування міграціями баз даних у Python, часто використовуваний з SQLAlchemy.
  • Міграція: Це версійована зміна в структурі бази даних, яка дозволяє зберігати історію змін та працювати в команді без конфліктів.
  • upgrade/downgrade: Команди для застосування та відкату міграцій. Це дозволяє перейти до будь-якої версії схеми БД у будь-який момент.
  • env файл: Містить конфігурації, специфічні для середовища розробки або виробництва.

Критерії приймання

  1. ...

Надання відповіді

Результати надати у вигляді MR в Google Classroom з усіма необхідними файлами проекту та змінами

results matching ""

    No results matching ""