on_delete :cascade n'est pas pris en compte dans Mysql

34 views
Skip to first unread message

devmapluz

unread,
Nov 11, 2017, 11:14:00 PM11/11/17
to Railsfrance
bonjour

j'ai un scheme classque commande/article
j'ai bien tout defini dans mon app ROR mais quand je regarde la vue relationnelle de ma table article, la foreign_key fk_articles_commandes sur ON_DELETE est initialisée à RESTRICT au lieu de CASCADE
je vous transmet ma config ci-dessous
peut-être ai-je oublié qq chose !

app/model/commande.rb
classCommande<ActiveRecord::Base
has_many
:articles, dependent::destroy
end


app/model/articles.rb
classArticle<ActiveRecord::Base
belongs_to
:commande
end


db/migrate/20160126131034_create_articles.rb
classCreateArticles<ActiveRecord::Migration
def change
create_table
:articles do|t|
t
.string:ref
t
.belongs_to :commande
t
.timestamps
end
add_foreign_key
:articles,:commandes, name::fk_articles_commandes, on_delete::cascade, on_update::nullify
end
end


db/migrate/20160126131258_create_commandes.rb
classCreateCommandes<ActiveRecord::Migration
def change
create_table
:commandes do|t|
t
.string:ref
t
.string:name
t
.timestamps
end
end
end

si vous avez une idée
merci

Ma Config :
ruby 2.2.4 p230
rails 4.1.7
mysql 5.7.14

devmapluz

unread,
Nov 19, 2017, 2:26:04 AM11/19/17
to Railsfrance
Bonjour

personne n'a de réponse pour ma question

Merci

Tim

unread,
Nov 19, 2017, 4:03:16 AM11/19/17
to rails...@googlegroups.com
De souvenir, rails prefere gerer a sa facon de delete en cascade et n exploite absolument pas les fonctionnalités des BDD. Mais je parle peut etre pour rails 3.

--
--
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 rails...@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@googlegroups.com
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Railsfrance".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse railsfrance+unsubscribe@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages