La strana situazione é:
Ho 2 siti uno pubblicato su cui ho gli utenti e uno nuovo senza. Vorrei trasferire gli utenti dal sito A (versione attuale) al sito B (nuova versione).
Il mio tentativo è stato:
-faccio il dump della tabella user di A e sovrascrivo la tabella user di B
Problema:
-Quando creo un nuovo utente mysql mi da errore che la chiave Id è duplicata!!
-Controllando vedo che genera la chiave 14 mentre io sono alla chiave 80!! (esempio)e
- giustamente non riesce a creare l'utente.
stranezze:
-Faccio il drop della tabella e l'indice "Suo" non ne risente, quando ricreo la tabella continuo dall'indice vecchio, non si azzera e non conta i nuovi inserimenti fatti!!
Penso che questo è un problema comune, Come lo si risolve?
Grazie Uccio
Il numero corrente dell'id dell'utente lo trovi nella tabella sequences.
1) ******* FAI LE COPIE PRIMA DI PROCEDERE!!! ************
2) Cancella la riga dell'utente 1 nel dump da importare
3) importa il dump
4) fai una select su users e prendi il valore massimo del campo uid
5) UPDATE sequences set id = valoremassimodelcampouiddelpuntosopra + 1 where name='users_uid'
Drupal non utilizza gli autoincrementali di mysql per avere una compatibilità con altri server sql (diciamo con postgresql). Quindi utilizza la tabella sequences in cui memorizza gli id in generale (dal nodo all'utente). Quando inserisci un utente, drupal locka la tabella sequences, recupera l'ultimo id, lo incrementa e la sblocca
Ciao
Gianni