PDA

Pogčedajte punu verziju : Prebacivanje tablice iz baze u bazu i "poravnanje" s IDevima


blackshtef
27. 09. 2007., 01:36
Moj prvi post ovdje, pa da pozdravim ;)

Ovakva je situacija. Imam jednu bazu, radi se konkretno o WordPress bazi. U njoj već ima hrpa postova i hrpa komentara.

Imam i drugu WordPress bazu. Praznu. Čistu.

Sad, budući da sam upgreadom WPa na prvoj bazi zeznuo nešto oko encodinga, odlučio sam na "hardcore" način to popraviti. Napraviti novu bazu (ovu praznu) i lijepo copy/pasteat stare postove u novu bazu (naravno, uz prethodne promjene naših grafema).

I sad - prvih par postova mi nije imalo komentara. Sad sam došao do jednog koji ima. Budući da komentare nemogu dodati u WordPressu ručno, kao postove, odlučio sam ući u bazu.

U bazi sam našao tablicu wp_comments i kopirao sam ju iz one stare, u ovu novu.

Sve je super prošlo :)
Ali - ne slažu mi se IDevi komentara sa IDevima postova u novoj bazi, što je dovelo do toga da mi se prvi komentar nalazi na postu dva, tri ID-a niže nego što treba. Pretpostavljam da je to zbog toga što sam u staroj bazi (tokom rada i pisanja bloga) tu i tamo brisao koji post, neki testni i slično, pa je ostala rupa...

Konkretno, kad otvorim wp_posts tablicu, i kliknem na ID redak, u staroj bazi vidim da ide:
5
6
7
8
9
10
11
12
13
14
15
16
17
(nema 18)
19
...


dok u novoj bazi, IDevi postova kreću ovako:
3
4
5
6
...

E, sad, mene zanima - kako uskladiti te IDeve? Kako da komentar bude na onom postu na kojem mora biti, a ne na dva posta prije? Ubacivanjem dodatnih IDeva? kako?

Bilo kakva pomoć je dobrodošla!

Hvala!

zira
27. 09. 2007., 01:40
Mozda je bolje da se fokusiras na popravku postojece tabele, ne znam koliko si "zeznuo" stvar sa tim upgradeom, ali vjerovatno je to manji problem popraviti nego preslikavati ID-eve.

bluesman
27. 09. 2007., 02:30
Ne znam kako si kompirao (nisi opisao tehniku) ali treba da kopiraš zajedno sa id, onda ti auto_increament ne bi pravio problem.

BrainDamage
27. 09. 2007., 08:42
Pa, ako su ti id-ovi post-ova manji za 2, onda:
update wp_posts set id=id+2

bluesman
27. 09. 2007., 12:12
Za to je verovatnoca otprilike kao da na Terazijama izbije vulkan. :) Mislim na live blog u koje se pisu / brisu postovi i ima ih vise od 8 :)

blackshtef
30. 09. 2007., 16:54
Eh, samo da javim kako je prošlo sve. Nažalost, postovi su mi bili preizmješani, recimo to tako, odnosno, njihova brisanja su uzrokovala šumu među IDevima. Tako da ono rješenje update wp_posts set id=id+2 ne bi pomoglo. Zapravo bi, ali, previše posla, a za ništa u biti važnoga.

Stara tablica je još više razmrdana, jer sam se ja eto išao igrati s njom. No dobro, na (vlastitim) greškama se uči :)

U konačnici, sve što sam izgubio je bilo par komentara, koji mi i nisu toliko bitni. Nekolicine mi ih je žao, ali, zato od sad radim backup baze i fino :)

No hvala svima na pomoći ;)