Sziasztok.
Tömör próbálok lenni. Postgresql-ben összeraktam egy adatbázist, amit kezel egy szoftver (Cpp-ben de ez mindegy a történet szempontkából). Mivel sürgősben kellett a dolog, így egy félkész adatbásist, és szoftvert kaptak, amiben a 7 modulból 2 működött, úgyis az volt a lényeg, de így kényelmetlen a használata, és hiányos. Azóta elkészült a szoftver, teljes adatbázisstruktúrával, ami üres, valamint ugye van egy félkész van ami a hasznos adatokat tartalmazza. A változások csak bővítések, preferenciák ugyanazok, pk-k ugyanazok......, csak oszlopok kerültek a táblákba, és készült új tábla. A kérdésem az, hogy van e olyan módszer amivel át tudom pakolni az új adatbázist a régiből, a hiányosságokat pedig utólag be tudom pakolni kézzel, mert nincs meg sehol, csak a termékeken gyártási lapokon stb.......
- 1079 megtekintés
Hozzászólások
regi adatbazison:
http://www.postgresql.org/docs/8.1/static/sql-altertable.html
OpenBSD 4.7/i386 theo for the prezident:D
- A hozzászóláshoz be kell jelentkezni
MySQL-nel lehet, szerintem PG-nel is, kidumpolod az adatokat (csak az adatokat) a regi db-bol, felhuzod az uj adatbazissemat, es visszaimportalod.
Ha esetleg nem lenne ilyen PG kapcsolo megse, akkor a dump-ban greppelsz az adatokat betolto sorokra (altalaban INSERT), es ebbol gyartasz egy masodlagos dumpot.
Egyebkent a fejlesztes folyamataban erdemes un. migraciokat csinalni. Vagyis, amikor egy uj funkciot vezettek be, akkor nem csak ugy megcsinaljatok az adatbazist hozza, hanem az alter scripteket lementitek, igy, amikor ilyen frissites van, egyszeruen csak le kell futtatni a hianyzo scripteket.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Alapvetően az a helyzet, hogy ha valaki sql adatbázisos alkalmazást gyárt, akkor gondolnia kell a verziómenedzsmentre. Ez nem egy kihagyható, elnagyolható része a feladatnak!
Azaz kiadsz egy verziót, annak van egy adatbázis struktúra verziója, majd a következő release-nél már megváltozhat a struktúra. És ekkor felmerül, hogy az adatbázis, amiben már vannak adatok, hogyan alakítható át az új verziónak megfelelő struktúrára.
A klasszikus megoldás az szokott lenni, hogy ugye mellékelünk az alkalmazáshoz egy create sql scriptet, ami megcsinálja a semmiből az üres adatbázis struktúrát. Amikor új verzió készül, ahhoz nyilván hozzá lesz igazítva ez a create script, de ez csak az ezutáni telepítéseknél ér valamit. Tehát elő kell állítani minden verzióhoz azt az upgrade sql scriptet, ami a már létező, korábbi verziójú adatbázist átkalapálja az új struktúrába. Ebbe nyilván egy az egyban átemelhetőek a create scriptbe belenőtt új táblák create table parancsai, de a módosítások miatt főleg alter table meg update parancsokkal kell játszani. Érdemes az adatbázisban tárolni a struktúra verziószámát is, hogy ne a táblákból meg az oszlopokból kelljen tippelgetni, hogy hol tartanak most. Esetleg az alkalmazásba is lehet rakni ellenőrzést, hogy ne induljon el, ha nem passzol az adatbázis verziójához.
- A hozzászóláshoz be kell jelentkezni