Je suis sur Postgres, et j'ai deux bases de données sur la même machine, et je voudrais déplacer certaines données de la base de données Source vers la base de données Dest.Déplacement d'informations entre les bases de données
Database Source:
Table User has a primary key
Table Comments has a primary key
Table UserComments is a join table with two foreign keys for User and Comments
Dest ressemble comme source dans la structure, mais il a déjà des informations dans les tableaux de l'utilisateur et les commentaires qui doivent être conservés.
Je pense que je vais probablement devoir faire cela en quelques étapes.
Étape 1, je voudrais vider la source dans un fichier en utilisant la commande Postgres Copy.
Étape 2, Dans Dest Je voudrais ajouter une colonne second_key temporaire à la fois utilisateur et commentaires, et une nouvelle table de jointure SecondUserComments.
Étape 3, j'importerais le fichier sauvegardé dans Dest en utilisant à nouveau Copy, avec les clés entrées dans les colonnes second_key.
Étape 4, j'ajouterais des lignes à UserComments dans Dest en fonction du contenu de SecondUserComments, en utilisant uniquement les clés primaires réelles cette fois. Cela pourrait-il être fait avec une commande SQL ou aurais-je besoin d'un script?
Étape 5, supprimez la table SecondUserComments et supprimez les colonnes second_key.
Est-ce que cela semble être la meilleure façon de le faire, ou y a-t-il un meilleur moyen de le faire?
Comment éviter de modifier le modèle de données étant donné que j'essaie également d'importer une table de jointure qui se joint aux clés primaires que je vais devoir modifier? –