Migration BDD vers une autre

Par Mikachu, il y a 12 ans


Base de données MySQL

BOnjour,

je viens vers car je dois faire une migration d'une base de donnée vers une autre. Je dois recuperer les données de l'une pour les injecter dans l autre mais avec une structure differentes, car plusieurs compte osn associer a un profil (je sais c est space lol).

L'ancienne bdd a en structure par exemple:

CREATE TABLE users (
    id INT NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    username VARCHAR(50),
    password VARCHAR(50),
    adr VARCHAR(200),
    cp VARCHAR(10),
    ville VARCHAR(50),
    tel INT(10) ZEROFILL,
    //etc....
);

La nouvelle base est différente, avec une relation par exemple:

CREATE TABLE users (
    id INT(11) NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    username VARCHAR(50),
    password VARCHAR(50),
    profile_id INT(11) NOT NULL
//etc....
);
CREATE TABLE profils (
    id INT(11) NOT NULL AUTOM_INCREMENT PRIMAY KEY,
    adr VARCHAR(200),
    cp VARCHAR(10),
    ville VARCHAR(50),
    tel INT(10) ZEROFILL
//etc....
);

Du coup je ne sais pas trop comment m'y prendre pour inserer les données de l'une dans l'autre.

Merci d'avance.

1 réponse

Mikachu, il y a 12 ans

Merci,

Oui énormément: 300 lignes en moyenne par table et il y en a pas qu'une...

J'ai simplifié l'exemple

EDIT:
Je viens d'y penser à l'instant lol.
Sinon je pensais faire 2 requetes SQL du genre:

Pour la table users:
SELECT id, username, password, id as profile_id FROM users
puis un insert dans la nouvelle table users avec les valeurs recupérées.

et une seconde:
Pour la table profils:
SELECT id, adr , cp , ville, etc FROM users
puis un insert dans la table profils avec les valeurs recupérées.