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

29 views
Skip to first unread message

devmapluz

unread,
Nov 11, 2017, 9:14:00 AM11/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
class Commande < ActiveRecord::Base
has_many
:articles, dependent: :destroy
end


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


db/migrate/20160126131034_create_articles.rb
class CreateArticles < 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
class CreateCommandes < 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 18, 2017, 12:26:04 PM11/18/17
to Railsfrance
Bonjour

personne n'a de réponse pour ma question

Merci

Tim

unread,
Nov 18, 2017, 2:03:16 PM11/18/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