問題タブ [cascading-deletes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails - カスケード削除を伴う同じクラスの複数の belongsTo
これは Grails ユーザー向けです。私は grails - ユーザーのメーリング リストで質問しましたが、数日間これと戦ってきたので、可能な限り広いネットをキャストする必要があると考えました。
2 つのオブジェクトを参照する別のオブジェクト (異なる型) で同じ型の 2 つのオブジェクト間の関係をモデル化しようとすると、いくつかの問題が発生します。
私がやろうとしていることの例として、家族間の関係をモデル化しているとします。与えられた関係は、2 つの異なる家族メンバーに「属する」ものです。そう:
ここでの意図は、p1 または p2 のいずれかが削除された場合、その削除が hasMany マップ内のすべての Relationship オブジェクトにカスケードされることです。代わりに、試行するたびに、外部キー違反が発生します。ドキュメントで説明されているように、「カスケード」属性を使用してみました:
http://grails.org/doc/1.0.x/guide/single.html#5.5.2.9%20Custom%20Cascade%20Behaviour
そこで、これを Person クラスに追加することにしました。
私もそれで運がありませんでした。
また、Grails が生成する devDB.script ファイルを調べて、Relationship で外部キーがどのように設定されているかを確認しました。「ON DELETE CASCADE」を両方の外部キー制約に手動で追加すると、問題なく動作しますが、自動生成されたデータベース スクリプトを手動で編集することは、最も堅牢なソリューションではありません。理想的には、GORM を使用してその動作を指定できるようにしたいと考えています。
それで、ここで私の最善の策は何ですか?複数の外部キー/所有者に対してカスケード削除を強制する方法はありますか? Person の onDelete アクションを使用して手動でこれを行う必要がありますか? これには Hibernate の設定を行う必要がありますか、それとも Grails/GORM で何らかの方法で行うことができますか?
お時間を割いていただき、またご提供いただけるご支援に感謝いたします。
sql-server - 多対多のテーブルにカスケード削除する方法
私はこのように見える3つのテーブルを持っています:(
出典:InsomniacGeek.com)
外部キーにカスケード削除を設定しました。現在、Folderテーブルのレコードを削除すると、FolderItemの関連レコードのみが削除されます。
これは予想され、正しいことです。
私が達成したいのは、Folderテーブルのレコードを削除するときに、FolderItemとItemテーブルの対応するレコードを削除する必要があるということです。
どうすればこれを解決できますか?問題のFolderIDを持つItemのすべてのインスタンスを削除するトリガーを追加することによって?または、より良い解決策はありますか?
ruby-on-rails - Rails ActiveRecordで1対多の関係でカスケード削除を行うにはどうすればよいですか?
レールに one_to_many 関係のモデルがあります。父親を削除したら、すべての子供を削除したいと思います。どうすればいいですか?ユーザーを削除するときに、すべての注文とそのアイテムを削除したい
私のモデルは次のとおりです。
php - MySQL で階層データのカスケード削除を実装する方法は?
カテゴリ/サブカテゴリを持つプロジェクトに取り組んでいます。このためのデータベース テーブルは一意であり、次の構造になっています。
そのため、カテゴリが「ベース」の場合、parent_id は 0 であり、カテゴリに親がある場合は、親 ID を収集します。私が知りたいのはこれです:そのオプション、カスケードのような削除を選択するときに、上記のカテゴリに関連するすべてを削除する必要がありますが、このテーブルしかありません(外部キーはありません)。それ、どうやったら出来るの?(大量のクエリなしで。)
sql - SQLサーバー、カスケード削除、親/子テーブル
次の列を持つ1つの単純なテーブルがあります:id、name、parentID
単純なツリーのように、 idとparentIDの間の関係図を同じテーブルに作成しましたが、ユーザーカスケード削除を試みたときに無効になりました
親を削除すると子が削除されるので、再帰的に削除されることはわかっています。
トリガーなしでカスケード削除できるオプションはありますか?
core-data - Core Data Relationship により、削除後に保存エラーが発生する
この質問はおそらくロングショットです。エンティティを削除した後に保存すると、コア データ プロジェクトで発生するエラーがわかりません。
私が扱っている主なエンティティは 2 つあります。衣装と記事です。問題なく作成できますが、削除すると次のエラー ログが表示されます。
衣装の場合:
記事を削除すると、次のようになります。
1600 エラーは次のとおりです。
NSValidationRelationshipDeniedDeleteError 削除ルール NSDeleteRuleDeny と
の関係を示すエラー コードが 空ではありません。Mac OS X v10.4 以降で利用できます。
CoreDataErrors.h で宣言されています。
しかし、どの関係が削除を妨げているのか、一生わかりません。Core Data ウィザードが私の方法のエラーを確認できる場合、私は謙虚になります.
実際には解決していないため、これを解決済みとしてマークすることはできませんが、回避策があります。.m
for each に、次managedObjects
のようなメソッドを追加しました。
ご覧のとおり、最初に手動でリレーションシップを削除し、次にオブジェクト自体を削除します。他のオブジェクトではnil-ing
、カスケードを取得するために、オブジェクトのリレーションシップの一部で私の delete メソッドが呼び出されます。
hibernate - REMOVEとDELETEの違いは何ですか?
間に違いはありますか:
- @Cascade(org.hibernate.annotations.CascadeType.REMOVE)および
- @Cascade(org.hibernate.annotations.CascadeType.DELETE)?
sql - 削除クエリ実行時の DB ダウン
単純な削除クエリで DB がダウンする可能性はありますか?
削除クエリ (単一行の削除) を実行したところ、そのクエリがハングしました。複数の人が同じ削除を再度実行しようとすると、Oracle DB がダウンします。複数のテーブルがこのテーブルを参照しており、カスケード削除が使用されていません。カスケード削除を使用する必要がありましたか?
このSQLの実行時にDBがダウンする理由として考えられるものは何ですか?
nhibernate - nhibernateで複数のレベルをカスケード削除しますか?
次のようにマッピングされた 3 レベルの深さのテーブルの階層があります (QualificationType には多くの Qualifications を持つ多くの QualificationGroups があります)。
資格グループを削除すると、それに関連するすべての資格が削除されます。しかし、資格タイプを削除しようとすると、関連するすべての資格グループが削除されますが、それらの資格は削除されません。
タイプを削除すると、すべてのグループとそのすべての資格が削除されるように、カスケードするにはどうすればよいですか? 最初にすべてのグループをループして削除する必要がありますか? これは、マッピングだけで処理できるはずです。
参考までに、Fluent NHibernate 1.0RTM と NHibernate 2.1 を使用しています。