Ti hogyan csináljátok? (adatbázis upgrade éles rendszeren)

Ti hogyan csináljátok? (adatbázis upgrade éles rendszeren)
2013-03-15T09:54:56+01:00
2013-04-03T02:26:52+02:00
2022-10-24T03:21:05+02:00
  • Én utoljára Clipperben csináltam így.
    Ott megy is a dolog, egymástól független táblák vannak.

    De egy adatbázisban függőségek vannak, így már az sem mindegy milyen sorrendben hajt végre az ember shéma módosítást.

    Aztán nagy tábláknál hagy ne másolgassam már a rekordokat.
    Egy jó adatbázis kezelő nálam inteligensebben dönt arról, mikor milyen módon éri el, hogy jó legyen a táblám.

    És ami a legfotosabb.
    Nem lehetnek "közbenső állapotok".
    Bizonyos verziójú program csak bizonyos (kézbentartott) verziójú adatbázis állapottal futhat.
    Kihasználja azt illetve azzal tesztelt.

    A "bizos jó lesz az úgy" nem profi megközelítés

    [ mert ki ne csinálna ilyet, de innen a zsidó vicc effekt]

    A rabbi találkozik egyik hívével és kérdőre vonja, hogy régen nem járt a templomban.
    - Hát valóban, Rabbi.
    - De akkor legalább minden nap imádkozol?
    - Hát azt sem igazán, Rabbi.
    - De legalább a vallási előírásokat betartod?
    - Nem igazán.... de lelkiismeret furdalásom az van ezek miatt.
    Mutasd a teljes hozzászólást!
  • Hello,

    Mi legrogramoztuk, hogy a program végig néző a mezők nevét, hosszát, tipusát, és ha bármiben változás van a forráskodban rögzitett "séma" szerint, akkor nyilván frissiteni kell.
    Létrehozzunk egy temp táblát az új struktúrával, majd belemásoljuk
    az a rekordokat.

    A frissitésnél ,főleg ha több száz ügyfél van, nem nagyon éri
    meg egyesével updatelni, főleg ha havi frissitést küld a cég.

    Nem sql-ben dolgozunk, de ugyanúgy mennie kell.

    Mutasd a teljes hozzászólást!
  • Én úgy csinálom hogy az ORM legenerálja a táblákat. Ha valami törlődik, akkor azt törlöm az éles adatbázisból is, de ez ritka. Általában egy új mező vagy komplett tábla kerül bele.
    Tehát először mentem csak az adatokat, majd lefuttatom a generátort és betöltöm az adatokat.

    Ha valami iszonyatosan bonyolult változtatás van, mondjuk egy tábla szétszedése több táblára, akkor meg marad emelhu módszere: kézimunka. Más lehetőség nincs, hiszen melyik az a összehasonlító program ami kitalálja a gondolatainkat? Maximum abban tudnak segíteni, hogy kiderítsék mi az eltérés a két adatbázis között.

    A tárolt eljárásokat, nézeteket, triggereket meg kerülöm, mert az én világomban (PHP+MySQL) ezeket nehéz tesztelni, javítani, vagy akár még csak telepíteni is.
    Mutasd a teljes hozzászólást!
  • Köszi.

    Valószínűleg tényleg az általad írt módszer a legműködőképesebb...
    Mutasd a teljes hozzászólást!
  • Minden új és modern csoda ellenére a plain text a programfejlesztés alapja.

    Igaz én sok ügyfélhez terítéshez csinálom így, de a lényeg azonos.

    SQL szöveget szerkesztek.

    Ha ez nagyon idegen tőled, akkor is lehet sql-be exportot kérni illetve db compare programokat használni, amik sql-ben adják ki a séma különbséget.

    Ez az SQL updateli fel az éles rendszert egy másolatát az utolsó publikáció előtti tesztben, még utoljára mielőtt útjára engedném.

    Ez az SQL jut el az ügyfelek gépére.
    Én az inteligens updatehez egy "adatbázis séma verzió" adatot használok az adatbázisban és szépen sorban szigorúan növekvően és kihagyás mentesen minden update kiadást végre kell hajtani.

    A felhasználói program meg leellenőrzi az adatbázis séma tól-ig-et, amin tud futni

    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Van pár élesen működő PHP+PostgreSQL (PostGis) alkalmazásom.

    Ezekhez vannak teszt környezeteim is, ha van hibajavítás vagy bekerül pár új funkció, azt megcsinálom a tesztben, majd feltöltöm az élesbe. PHP fájlok esetén nincs probléma, mert egyszerűen felülírom a régi fájlokat. Viszont sokat szívok az adatbázissal. Ha új táblákat készítek, vagy új nézeteket,mezőket, tárolt eljárásokat. akkor ezeket mindig manuálisan csinálom meg az élesben is.

    Nektek van erre valami eszközötök, hogyan lehet a lehető legkevésbé "fájdalommentesen" megoldani az adatbázis upgrade-t?


    Köszönöm.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd