質問編集履歴
4
Djangoの詳細
test
CHANGED
File without changes
|
test
CHANGED
@@ -55,3 +55,21 @@
|
|
55
55
|
なぜ?
|
56
56
|
|
57
57
|
> 知的に動作すべきはモデルであり、データベースではないというコンセプト
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
ちなみにDjangoにはdb→modelをするためのコマンドもあります。
|
64
|
+
|
65
|
+
これで既存のdbに対応する事もできます。
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
アプリに合わせてdbを作る方が多いとすればDjango方式の方が良くないですか?
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
[モデル | Django documentation | Django](https://docs.djangoproject.com/ja/2.1/topics/db/models/)
|
74
|
+
|
75
|
+
> モデルは、データに関する唯一かつ決定的な情報源です。あなたが保持するデータが必要とするフィールドとその動作を定義します。一般的に、各モデルは単一のデータベースのテーブルに対応付けられます。
|
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
にはフィールドの定義が無く、
|
12
12
|
|
13
|
-
`db/
|
13
|
+
`db/migrate/*`
|
14
14
|
|
15
15
|
に定義があるようです。
|
16
16
|
|
2
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -29,3 +29,29 @@
|
|
29
29
|
Django方式の方がmodelの修正だけで済んで良くないですか?
|
30
30
|
|
31
31
|
他の言語、フレームワークではこの辺どうなっているのかも知りたいです。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
[Active Record マイグレーション | Rails ガイド](https://railsguides.jp/active_record_migrations.html#active-record%E3%81%A8%E5%8F%82%E7%85%A7%E6%95%B4%E5%90%88%E6%80%A7)
|
38
|
+
|
39
|
+
> 7 Active Recordと参照整合性
|
40
|
+
|
41
|
+
Active Recordは、知的に動作すべきはモデルであり、データベースではないというコンセプトに基づいています。そして実際、トリガーや制約などの高度なデータベース機能はそれほど使用されていません。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
> validates :foreign_key, uniqueness: trueのようなデータベース検証機能は、データ整合性の強制をモデルが行っている1つの例です。モデルに関連付けの:dependentオプションを指定すると、親オブジェクトが削除されたときに子オブジェクトも自動的に削除されます。アプリケーションレベルで実行される他のものと同様、モデルのこうした機能だけでは参照整合性を維持できないため、データベースの外部キー制約を使用して参照整合性を増大させる開発者もいます。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
> Active Recordだけではこうした外部機能を扱うツールをすべて提供することはできませんが、executeメソッドを使用して任意のSQLを実行することができます。
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
なぜ?
|
56
|
+
|
57
|
+
> 知的に動作すべきはモデルであり、データベースではないというコンセプト
|
1
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
Railsだと設計思想が違うのでしょうか?
|
22
22
|
|
23
|
-
Djangoのmodel→
|
23
|
+
Djangoのmodel→migration→dbが分かり易いと思うのですが、Railsはmodelとは別でmigration→dbになっていますか?
|
24
24
|
|
25
25
|
そうしている目的はなんですか?
|
26
26
|
|