d1-05-entity-migration について
`up-api` のエンティティ定義とデータベースマイグレーションを行うスキルです。指定されたエンティティ名とカラムを使い、再デプロイせずに稼働中の Postgres データベースを更新します。
主な機能
- 01エンティティ名とカラムの確認
- 02エンティティの `AppDbContext` への追加
- 03EF マイグレーションの作成と適用
- 04データベーステーブルの確認
活用シーン
- 01`up-api` への指定エンティティの追加
- 02再デプロイなしで稼働中のデータベース構造を更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ softinter-chiangrai/ up-ai-skill-training --skill d1-05-entity-migrationインストール後、Claude Code で/d1-05-entity-migrationを入力して読み込まれたか確認します。
詳細
1 日目 · ステップ 5 — エンティティとマイグレーション(再デプロイ不要)
開始前に、以下を確認してください:
- エンティティ名(PascalCase、例:
Product、Order、User)— 必須 - カラム(形式:
ColumnName:Type、カンマ区切り、例:Name:string, Price:decimal, Stock:int)— 必須 - NULL 許容カラム(任意、デフォルトでは string/Id 以外はすべて NULL 不可)— 任意
指定されたとおりに使用してください。カラムを提案、追加、変更しないでください。
up-api/Entities/<Entity>.cs:
public class <Entity>
{
public int Id { get; set; }
// one property per given column, e.g.:
// public string Name { get; set; } = string.Empty;
// public decimal Price { get; set; }
}
AppDbContext に追加:
public DbSet<<Entity>> <Entity>s => Set<<Entity>>();
cd up-api
dotnet ef migrations add Init<Entity>
dotnet ef database update
これは、db-config ステップの localhost:5432 接続文字列を使用して、すでに実行中の Postgres コンテナに対して実行されるため、再デプロイは不要です。テーブルが存在することを確認してください(psql で \dt を実行するか、docker exec で db コンテナにすばやくアクセスします)。
コメント
Markdown 対応