Adatbázis átvitel

Indította ktomi, 2013 augusztus 03, 02:13:09 DÉLUTÁN

Előző téma - Következő téma

ktomi

Üdv.
Volna egy olyan problémám, hogy egy Trinity 3.3.5a repackon elkezdtünk haverokkal építkezni. Ez után csináltam egy Trinity 3.3.5a revisiont, mivel a repack meglehetősen bugos volt, viszont nekem a repacknál használt adatbázis kellene, de a revision nem ismeri fel, mivel más felépítése van a tábláknak.
A kérdésem pedig az lenne, hogyan lehetne megoldani, hogy a repackos adatbázist tudjam használni a revisionnál?
A válaszokat előre is köszönöm.

Shyro

#1
Megkell nezni a tablak kozotti elteseket, ha a REPACK tablaiban vannak olyan mezok, melyek az alap esetben nem szerepelnek a TrinityDB tablajaba, akkor a neked szukseges mezoket (es tartalmat) csak at kell masolni (Ez a jobbik eset):
SELECT mezo1,mezo2,... INTO TALBA FROM REPACK_TABLA
Ha ennel bonyolultabb a dolog (es gondolom, hogy az), akkor nyilvan bonyolultabb SQL lekerdezest kell irni.
https://en.wikipedia.org/wiki/SQL Innen erdemes elindulni.
Persze, vannak programok is, amelyekkel mindenfele csodat lehet muvelni, akar a Workbench, akar mas MySQL development tool. (En kifejezetten a Te problemadra nem tudok mondani programot, azt tudom javasolni, hogy keresgelj.)
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi

Hát már jó ideje keresgélek, de eddig nem sok sikerrel :/ Azért köszi :)

Shyro

Ha pontosan letudod irni, milyen elteresek vannak, mely tablaban, mit kellene atvinni, hova, stb. Akkor talan elorebb tudunk jutni.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi

Creature_Template táblából átkerült az equipment_id oszlop a sima Creature táblába.
Creature_Template tábla bővült Unit_Flags2 oszloppal, meg van még valami eltérés ha jól emlékszek.
Quest_Template táblában az oszlopok egy része fel van cserélve.
Waypoint_data tábla bővült egy oszloppal.
creature_ai_summons táblát gondolom a creature_summon_groups tábla helyettesíti (itt nincs sok adat, szóval ezt még helyre tudnánk hozni manual).
gossip_scripts tábla eltűnt.
gameobject_scripts tábla is eltűnt.

A többi táblát nem nagyon néztem, mivel ezek lennének a legfontosabbak. Kézileg átírkálni a dolgokat nem lenne jó buli, mivel több száz npc-t, objectet, questet csináltunk+raktunk le. :/

Shyro

#5
Ha az erintett tablakrol keszitenel egy backup - ot, persze csak a strukturarol es feltenned valahova, az sokat segitene. Ha minden igaz, akkor azt kellene osszevetni a jelenlegi 3.3.5 - os TDB - vel?

Peldaul a creature_template es a creature tablak kozotti elterest lehetne az altalam leirt modszerrel orvosolni:
SELECT equipment_id
INTO `TRINITY_DB`.`creature`
FROM `REPACK_DB`.`creature_template`;


majd:
SELECT stb1,stb2,...
INTO `TRINITY_DB`.`creature`
FROM `REPACK_DB`.`creature`

(Ezeket most nyilvan nem tudtam kiprobalni, de valahogy igy kellene elindulni.)
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi


Shyro

Igy most mar ertheto a dolog. Amire szeretned atvinni az adatok (szerintem) az a 4.3.4 - hez tartozo adatbazis. Ezert nem egyeznek a 2 adatbazis tablai es azok strukturaja.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi

Ohh. Ez nem is jutott eszembe. Akkor kell keresnem egy másik forrást.
Esetleg valami megbízható 3.3.5a TC emulátort nem tudsz? :)
Mindenesetre köszönöm a segítségedet! :D

Shyro

Azt, hogy melyik emulator a legjobb/legmegbizhatobb 3.3.5a verzioju WoW - hoz nem tudom,
de a TrinityCore - t innen:
https://github.com/TrinityCore/TrinityCore
letudod szedni. Csak ugyelj ra, hogy a Branch az master legyen.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi

Oké, majd a holnapi nap összedobom akkor az új revisiont :)
Nagyon szépen köszönöm az eddigi segítségeid!

Locutus

Sziasztok!

Igen egyetértek a legjobban a 3.3.5a trinity emulátor a megbízható. Ez az adatbázis átvitelről csak annyit hogy az adatbázis tábláinak az oszlopai a szerverben van definiálva. Erre persze így több lehetőség lett volna, átírni az egész szervert úgy hogy azokat az oszlopokat nézze csak ami a db ben van, vagy amit probáltatok, hogy átveszed. De ez azért is veszélyes mert lehet hasonló a nevük,de másért felelnek.

Üdvözlettel Locu
Álljon fel az ország imádandó széki!
Nemzetek, országok, hódoljatok néki!
Uralkodjék köztünk ész, érdem, igazság,
Törvény s egyenlőség, s te, áldott szabadság!

ktomi

https://github.com/TrinityCore/TrinityCore leszedtem (branch master volt), megcsináltam, de ugyan az a helyzet :/

Shyro

Yep. En neztem el. Ebben az esetben nezd meg a version tablaban a db_version - t (a repack world adatbazisaban) es darald vegig a megfelelo update - eket:
https://github.com/TrinityCore/TrinityCore/tree/master/sql/old/3.3.5a
(valoszinuleg innen)
Egeszen a legfrisebb verzioig. Utana remelhetoleg ugy fognak kinezni a tablaid, ahogyan azoknak ki kell, es tudok az adatokat importalni a legfrisebb world - be.
makeSystem :: Integral a => [a] -> [a]
makeSystem l = concat (zipWith (\ a b -> replicate (fromIntegral a) (fromIntegral b)) l [ product x | x <- inits l ])
makeSystem [ 60, 60, 24, 7, 52 ] = ?

ktomi

#14
Hát én ezt nem értem... Ez is ugyanazt a f*s cata db-t akarja mindenáron...
10668 verziójú TC -t előkapartam az csak jó lesz már...

Edit: felraktam, elvileg megvan minden, de a worldservert nem akarja elindítani... log-ban semmi hibát nem ír... Már nem tudom, hogy ezen sírjak, vagy nevessek.  ::)

Powered by EzPortal