Fórum Root.cz

Hlavní témata => Server => Téma založeno: Rexxar 05. 03. 2012, 20:13:45

Název: Verziovanie databazy
Přispěvatel: Rexxar 05. 03. 2012, 20:13:45
Zdravim,
chcel by som sa opytat ako riesite verziovanie Mysql databazy. Vyvyjame webovu aplikaciu a kazdy zakaznik ma na serveri vlastnu instanciu danej aplikacie. Problem je v tom, ked chceme migrovat niektoru instanciu na novsiu verziu. Vhodny by bol nejaky sposob, ktory meni databazu pomocou ALTER prikazov.
Název: Re:Verziovanie databazy
Přispěvatel: jehovista 06. 03. 2012, 01:17:15
Jako nejrobustnejsi reseni co jsem zatim videl mi prislo dat informaci o verzi do DB a scripty pro zmeny spoustet automaticky primo z aplikace pri jejim startu. V aplikaci jsou pak pribaleny skripty pro veskere prechody. Kdyz teda mas aplikaci verze 3 a z DB zjistis ze je verze 1, tak udelas prechod 1->2 a 2->3. V takovem pripade pak nemusis resit nic jineho, nez nahrat novou verzi aplikace. Samozrejme to ale predpoklada, ze mas prislusna prava pro toho db usera.
Název: Re:Verziovanie databazy
Přispěvatel: dustin 06. 03. 2012, 07:14:56
Děláme to úplně stejně. A v tom skriptu pro přechod na jinou verzi nemusí být jen změna DB, ale i třeba změna nějakého adresáře, aktualizace nějakých datových struktur v DB či jinde apod.
Název: Re:Verziovanie databazy
Přispěvatel: Mirek Prýmek 06. 03. 2012, 08:03:12
Děláme to úplně stejně. A v tom skriptu pro přechod na jinou verzi nemusí být jen změna DB, ale i třeba změna nějakého adresáře, aktualizace nějakých datových struktur v DB či jinde apod.

A ono to jde dělat jinak? (přiznám se, že jsem dotaz moc nepochopil...)
Název: Re:Verziovanie databazy
Přispěvatel: to je jedno 06. 03. 2012, 09:29:41
asi nepouzivaji zadny DB framework v php a perou to tam napřímo.
Název: Re:Verziovanie databazy
Přispěvatel: Mirek Prýmek 06. 03. 2012, 09:34:28
asi nepouzivaji zadny DB framework v php a perou to tam napřímo.

No i tak prece potrebuji vedet, s jakou verzi struktur pracuju a jakym zpusobem muzu jednu verzi struktury prevest na jinou.

Jiste si muzu verzi struktur zapisovat jinam nez do DB, ale proc bych to delal? A stejne tak muzu jiste kod na prevod verzi struktur zapisovat jinam, nez do samotne aplikace, ale opet: proc bych to delal?
Název: Re:Verziovanie databazy
Přispěvatel: Kit 06. 03. 2012, 09:58:28
asi nepouzivaji zadny DB framework v php a perou to tam napřímo.

Zatím nejlepší databázový framework je pro mne PDO.
Název: Re:Verziovanie databazy
Přispěvatel: Taco 06. 03. 2012, 12:54:28
Mám na to vytvořený program, jmenuje se to http://taco-beru.name/schema-manage (http://taco-beru.name/schema-manage). Ten bere podle konfigurace verzi databáze a verzi schematu uloženou v repozitáři současně s kódem aplikace. Takže vždycky, když si dám hg update, tak se mi následně automaticky (hák na postcommit) zavolá i schema-manage update, a promítnou se mi tam všechny změny databázového schematu od kolegů.

Zatím jsem to využil na třech aplikacích, a průběžně vylaďuji nedostatky.

Já jsem s tím spokojený, ale já jsem autor :-) Třeba to bude k něčemu i tobě.