@einja/dev-cli 0.1.39 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -232,8 +232,57 @@ model NewFeature {
|
|
|
232
232
|
---
|
|
233
233
|
|
|
234
234
|
<!-- @einja:seed:start id="database-guidelines-project" -->
|
|
235
|
-
##
|
|
235
|
+
## プロジェクト固有: Prismaスキーマ編集ルール
|
|
236
236
|
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
### model名の命名規則
|
|
238
|
+
|
|
239
|
+
- モデル名は**アッパーキャメルケース**(例: `UserProfile`, `OrderItem`)
|
|
240
|
+
- `@@map()` でスネークケースのテーブル名を指定する
|
|
241
|
+
|
|
242
|
+
```prisma
|
|
243
|
+
model UserProfile {
|
|
244
|
+
// ...
|
|
245
|
+
@@map("user_profiles")
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### カラム名の命名規則
|
|
250
|
+
|
|
251
|
+
- カラム名は**キャメルケース**(例: `customerId`, `firstName`)
|
|
252
|
+
- `@map()` でスネークケースのDB名を指定する
|
|
253
|
+
|
|
254
|
+
```prisma
|
|
255
|
+
customerId String @map("customer_id")
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### 必須・非必須の判定
|
|
259
|
+
|
|
260
|
+
- 指示されている、自明である、または他データソースによって確実に判定できる場合のみ設定する
|
|
261
|
+
- **推測で決定しない**。不明な場合は必ずユーザーに確認すること
|
|
262
|
+
|
|
263
|
+
### IDの採番
|
|
264
|
+
|
|
265
|
+
- `id` は **cuid** で自動採番を原則とする
|
|
266
|
+
|
|
267
|
+
```prisma
|
|
268
|
+
id String @id @default(cuid()) @map("id")
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### createdAt / updatedAt
|
|
272
|
+
|
|
273
|
+
- 原則としてすべてのテーブルに適用する
|
|
274
|
+
- `@db.Timestamptz(6)` を必ず明示する(PostgreSQL/Prisma公式推奨)
|
|
275
|
+
|
|
276
|
+
```prisma
|
|
277
|
+
createdAt DateTime @default(now()) @db.Timestamptz(6) @map("created_at")
|
|
278
|
+
updatedAt DateTime @updatedAt @db.Timestamptz(6) @map("updated_at")
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### 外部キーの削除ポリシー
|
|
282
|
+
|
|
283
|
+
- 外部キーを持つリレーションは、基本的に `onDelete: Cascade` の適用を検討する
|
|
284
|
+
|
|
285
|
+
```prisma
|
|
286
|
+
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
|
287
|
+
```
|
|
239
288
|
<!-- @einja:seed:end -->
|