A cegnel ugy mukodik a fejlesztes, hogy van a dev repo, az lokalisan a gepemen (egyedul fejlesztek), van egy teszt, egy oktato es egy eles. Devrol pusholok tesztre, az post-receive checkoutol automatikusan, onnan oktatora, ott ugyanez, onnan pedig az elesre. Ott viszont nem checkoutol automatikusan, mert a site-frissites csak ejjel mehet ceges policy szerint, hogy tuti ne legyen fennakadas. Ekkor viszont mar nyilvan nem vagyok munkaban, szoval egy crontab bejegyzessel oldottam meg a checkoutot. Eddig rendben van, viszont itt jon a problema:
Teszten es oktaton tudom frissiteni az adatbazist checkout utan (alter table, create table, etc.), viszont az elesen nem. Pontosabban de, de akkor este 10-kor otthonrol fel kell masznom es ezzel kell foglalkoznom, ami nem biztos, hogy jo, mert megesik, hogy esetleg szeretnek valami mast csinalni szabadidomben, 10-kor pedig eselyes, hogy mondjuk egy buliban vagyok, amikor nem szeretnek ittas allapotban hazarohanni adatbazist frissiteni.
Szoval erre kellene valami megoldas. Ott tartok elmeletben, hogy csinalok egy filet, pl. sqlupdate.sql, amibe minden commit elott beleirom, mi valtozik, post-commit hookban pedig letorlom az egeszet, majd post-checkoutnal csinalok egy mysql < sqlupdate.sql.
Eddig ez viszonylag mukodokepesnek tunik, viszont van egy olyan problemam, hogy ha pl. csinalok egy olyat, hogy 12 commit utan pusholom ki elesre, mert tesztrol visszajon, hogy bugos, azokat kell fixelgetnem. A 12 commitbol lesz mondjuk 3-ban SQL script, tobbiben nem, akkor elvesztettem minimum kettot, ha az utolsoban nem volt, akkor mindharmat. Ezzel mit tudnek kezdeni? :) Vagy alapbol rossz a hozzaallasom esetleg?