Salut, c'est peut être aussi des contraintes de clé étrangères aveec une autre table qui serait liée
Le 22 décembre 2009 07:40, Jean-Baptiste Barth <[email protected] > a écrit : > Cette erreur ne dit pas : > "Cette clé est dupliquée dans la base alors qu'elle ne devrait pas" > Cette erreur dit : > "Vous essayez d'insérer un enregistrement avec un ID qui est déjà présent, > je refuse de le faire car c'est une clé primaire" > > Donc a priori rien à voir avec le type, il faut chercher dans ton script : > soit tu essaies d'insérer deux fois la même ligne de ton ancienne base, soit > la table d'arrivée n'est pas totalement vide, soit l'ID était déjà doublé > dans ton ancienne base, soit tu t'es emmêlé les pinceaux quelque part... > > Bon courage! > Cdt, > -- > Jean-Baptiste > > > Le 22 décembre 2009 05:42, Adrien Coquio <[email protected]> a écrit > : > > Je me retrouve devant un problème incompréhensible (jusqu'à ce que je >> trouve/on me donne la solution ;-) ) >> J'utilise, comme précisé avant la librairie sequel. >> DEPA est une bdd contenant une colonne COMMUNES ayant une clé primaire >> sur le champ `cle` SMALLINT(5) >> CB est une bdd contenant une colonne communes ayant une clé primaire >> sur le champ `id` INT(11) >> >> J'ai le code suivant : >> >> DEPA.transaction do >> communes = CB[:COMMUNES] >> communes.each do |commune| >> DEPA[:communes].insert(:id => commune[:cle]) >> end >> end >> >> Lorsque je l'execute j'obtient l'erreur suivante : >> Mysql::Error: Duplicate entry '246' for key 1 (Sequel::DatabaseError) >> >> Incompréhensible car cle étant une cle primaire, elle ne peut pas être >> dupliqué... >> >> Lorsque je relance le meme script j'obitent l'erreur suivante : >> Mysql::Error: Duplicate entry '247' for key 1 (Sequel::DatabaseError) >> >> Et finalement si j'execute ce script un certains nombres de fois, >> l'erreur disparait et le script est bien exécuté !! >> J'ai pensé que cela pouvait venir du fait que `cle` soit un SMALLINT >> (5) mais quand je modifie le type de la colonne pour un INT j'ai le >> même résultat ! >> >> Je comprend pas du tout, si quelqu'un peut m'aider MERCI ! >> >> adrien >> >> On Dec 20, 3:44 pm, Adrien Coquio <[email protected]> wrote: >> > Génial !! >> > C'est exactement ce qu'il me fallait, pas une solution miracle, je me >> > doutais qu'il n'en existe pas mais une méthode pour faire ca >> > efficacement. >> > Merci beaucoup :) >> > >> > adrien >> > >> > On Dec 20, 8:38 am, Bruno Michel <[email protected]> wrote: >> > >> > > Salut, >> > >> > > je suis en train de faire la même chose pour migrer les données de >> > > LinuxFr.org de la version templeet vers la future version Rails. Je >> n'ai >> > > pas trouvé de solution miracle, mais je m'en suis pas trop mal sorti >> > > avec sequel[1]. Les scripts sont sur github[2], donc tu peux jeter un >> > > coup d'œil pour voir si ça te convient. >> > >> > > [1]http://sequel.rubyforge.org/documentation.html >> > > [2]http://github.com/nono/migration-linuxfr.org >> > >> > > ++ >> > > Bruno >> > >> > >> >> -- >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> Google Groups. >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> [email protected] >> Pour résilier votre abonnement envoyez un e-mail à l'adresse >> [email protected] >> > > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected]
