მონაცემთა ბაზის მიგრაციები (სქემის ცვლილებები) არის CI/CD-ის ერთ-ერთი ყველაზე რთული ნაწილი — განსხვავებით უმდგრადი აპლიკაციის კოდისგან, მონაცემთა ბაზები იკავებენ სტატეს, რომელიც არ შეიძლება უბრალოდ შეიცვალოს ან დაბრუნდეს. მიგრაციების ფრთხილი დამუშავება (ავტომატიზაცია, უკან თავსებადობა, უსაფრთხო ნიმუშები) აუცილებელია საიმედო განლაგებისთვის.
რატომ არის მონაცემთა ბაზის მიგრაციები რთული
App code is stateless (replace it, roll back freely). DATABASES hold STATE:
→ can't just "roll back" a migration that dropped a column or transformed data
(the data may be gone) → rollbacks are risky/impossible for destructive changes
→ during deployment, OLD and NEW app code may run SIMULTANEOUSLY (rolling deploy) —
both must work with the database schema at that moment
→ Schema changes need careful coordination with code deployment.
