問題タブ [foreign-key-relationship]
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.
nhibernate - NHibernateのレガシーデータベースマッピングは不可能ですか?
誰かがレガシーデータベースのマッピングを手伝ってくれることを願っています。ここで説明している問題は他の人を悩ませていますが、Web上で本当に良い解決策を見つけることができませんでした。
免責事項:これはレガシーDBです。複合キーを制御することはできません。彼らは吸うし、あなたが彼らが吸うと私に言っても変更することはできません。代理キーも追加できません。これらはオプションではないため、どちらも提案しないでください。
2つのテーブルがあり、両方とも複合キーがあります。一方のテーブルのキーの1つは、もう一方のテーブルからコレクションを取得するためのキーの一部として使用されます。つまり、キーはテーブル間で完全には一致しません。ClassBは、可能であれば、このマッピングのためにプロパティを追加することを避けたいすべての場所で使用されます。
ClassAのインスタンスを取得し、PolicyNumberに一致するすべてのClassB行を取得したいと思います。私は1対多で何かを実現しようとしていますが、これは技術的には1対多として扱っている多対多である可能性があることを認識しています。
アソシエーションクラスを使用してみましたが、機能するかどうかを確認するのに十分な距離がありませんでした。私はこれらのより複雑なマッピングに不慣れであり、アドバイスを探しています。私はほとんどどんなアイデアにもオープンです。
ありがとう、コーリー
mysql - mysql export sql dumpはアルファベット順に、インポート中に外部キー制約エラーが発生します
データベース(MySQL)に10個のテーブルがあります。それらのうちの2つを以下に示します
tbl_state
tbl_city
外部キー制約: tbl_city.state_codeはtbl_state.state_idへの参照です。
今私の問題は
すべてのテーブルをエクスポートして再度インポートすると、次のようになります。
foreign key constraint fails error....
mysqlダンプをエクスポートすると、sqlダンプがアルファベット順に生成され、データベースではtbl_cityがtbl_stateの前に来るためです。
このシナリオをどのように処理するかを教えてください。
すべてのテーブルが外部キー参照の順序になる方法はありますか?
ruby-on-rails - レコード関係を追加するときに「TypeError: シンボルを文字列に変換できません」
ユーザーからベットへの賭けシステムの関係をモデル化したいと思います。2 つのプライマリ キーを持つモデル ベットが必要です。
ここに私の移行があります:
モデル:
ここでコンソールで関係をテストすると、エラーが発生しました
質問:
- これらのテーブル間の関係を正しく定義するにはどうすればよいですか?
- 属性に名前を付ける規則はありますか (例: user_1_id...)?
ご協力ありがとうございました。
sql - MySQL - 指定されたインデックスを参照するエントリを検索します
したがって、PK として「lesson_type_id」を持つ「lesson_type」テーブルがある予約システムがあります。ここで制約を設定しているため、そのlesson_typeの予約がある場合、lesson_typeを削除できません。
ユーザーに適切に通知できるように、このlesson_type_idが予約テーブル(またはその他のテーブル)のエントリによって参照されているかどうかを判断できるようにしたいと考えています。つまり、レコードを削除しようとしたときに mysql エラーがスローされません。
これにはどのようなクエリを使用しますか?
ありがとう。
ruby-on-rails - Railsにはデータベースレベルの制約が必要ですか?
次の投稿と同じ問題があります。
だから私は疑問に思っています、なぜRailsはデフォルトで外部キーの生成をサポートしていないのですか?必要ないですか?それとも手動で行うことになっていますか?
django - Django外部キーカスケード削除と「related_name」パラメーター(バグ?)
このトピックでは、必要がない場合に、関連するオブジェクトのカスケード削除を防ぐための良い方法を見つけました。
ただし、「related_name」パラメータでForeignKeyフィールドを使用している場合、このメソッドは失敗するようです。私のように、「clear()」メソッドは正常に機能し、「関連付け解除された」オブジェクトのインスタンスを保存します。しかし、削除している間、djangoはこのオブジェクトの別の記憶されたコピーを使用します。それはまだオブジェクトに関連付けられているため、削除しようとしています-whooooosh!...親戚にさようなら:)
データベースは私の前にアーキテクチャ化されていて、やや奇妙な方法で作成されていたため、これらの「related_names」を妥当な時間内にエスケープすることはできません。誰かがそのようなトラブルの回避策について聞いたことがありますか?
symfony1 - Doctrine 1.2: 1 対多の関係の両側に制約が割り当てられないようにするにはどうすればよいですか?
Doctrine が 1 対 1 の関係の両側に制約を割り当てないようにする方法はありますか? 定義を一方から他方に移動し、所有側を使用しようとしましたが、それでも両方のテーブルに制約が課されます。親テーブルにのみ制約を持たせたい場合-つまり。親に子が関連付けられていない可能性があります。
たとえば、基本的に次の SQL スキーマが必要です。
しかし、私はこのようなものを得ています:
制約を手動で削除するか、アクセサーを変更してコレクション内の単一のエンティティを返す/設定することができますが (1 対多を使用)、これを処理する方法が組み込まれているようです。
また、Symfony 1.4.4 (pear installtion ATM) を使用しています - sfDoctrinePlugin の問題であり、必ずしも Doctrine 自体ではない場合に備えて。
sql - MySQLで外部キーを機能させる際の問題
カスケードするために削除を取得しようとしましたが、機能していないようです。私は明らかな何かを見逃していると確信しています、誰かが私がそれを見つけるのを手伝ってくれるでしょうか?
'articles'テーブルを削除すると、'article_section_lt'テーブルの対応する行が削除されると思います。
doctrine - Doctrine:エンティティから別の「リンクされた」エンティティにトラバースする方法は?
cross-join
Doctrine_RawSqlを使用して 3 つの異なるテーブルをロードしています。これにより、次のオブジェクトが返されます。
上記のオブジェクトは、 と の関係の結果であり、many-to-many
参照テーブルとして機能します。という名前の別のフィールドも含まれています。これには明らかに、対応する の値が含まれています。User
Setting
User_Setting
User_Setting
value
Setting
これまでのところすべて問題ありませんが、返されたオブジェクトのSettings
とUser_Settings
プロパティは互いにリンクされていません(フィールド ofcourseは別として)。User
setting_id
Settings
プロパティから対応するプロパティに直接トラバースする直接的な方法はありUser_Settings
ますか?
これは対応するクエリです:
編集:
1: これは関連する YAML マークアップです
2. これはオブジェクト コードです (YAML から生成されます)。
yaml - Symfony 1.4: propel を使用してフィクスチャでリレーションを使用する
PHP symfony フレームワークを使い始めたところです。現在、YAML でフィクスチャ ファイルを作成して、MySQL データベースにデータを簡単に挿入しようとしています。
これで、私のデータベースにはいくつかのリレーションがあり、Organization と Location というテーブルがあります。
今、フィクスチャファイルでこれらのテーブルをリンクしようとしていますが、私の人生では、その方法がわかりません。org_id は自動インクリメントされるため、単純に使用することはできません
ロケ備品で。
どうすればこれを修正できますか?