@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@einja/dev-cli",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "description": "Einja CLI - .claude設定とテンプレート同期をnpxでインストール",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -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
- <!-- einja syncで上書きされません -->
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 -->