ORM モデルの生成
これは誰に向けたものですか
ビジネス プロジェクトのテーブル構造を ORM モデル コードに直接変換する必要があるユーザー向け。
これで解決すること
DDL モデルと ORM モデルの間で手動で変換する必要はありません。システムはターゲット フレームワークのモデル コードを直接生成できるため、重複作業や型の不一致のリスクが軽減されます。
前提条件
- 現在のテーブルはフィールド構成が完了しており、右側に DDL が生成されています。
- ビジネス プロジェクトで使用される ORM フレームワークがすでに特定されています。
ステップ
- 右側の出力領域の「
ORM」タブをクリックします。結果: フレームワーク セレクターと生成されたコードが表示されます。 - フレームワークセレクターでターゲットを切り替えます (Prisma、TypeORM、SQLAlchemy、GORM、JPA)。結果: コードはフレームワークの構文に従ってリアルタイムで更新されます。
- 生成された結果のフィールド タイプのマッピング、主キーの定義、およびインデックスの注釈を確認します。結果: 型マッピングは、
varchar→ Prisma のString、TypeORM のvarchar、JPA の@Columnなど、各フレームワークの規則に従います。 - 「
Copy ORM」をクリックします。結果: コードがクリップボードにコピーされ、ビジネス プロジェクトに貼り付ける準備が整います。
サポートされているフレームワークとマッピングのハイライト
| フレームワーク | ファイル形式 | 典型的なマッピング |
|---|---|---|
| Prisma | .prisma スキーマ | String、Int、DateTime、@id、@index |
| TypeORM | TypeScript デコレータ | @Entity()、@Column()、@PrimaryGeneratedColumn() |
| SQLAlchemy | Python クラス | Column()、Integer()、String()、relationship() |
| GORM | Go 構造体 | gorm.Model、タグ形式の gorm:"column;type" |
| JPA | Java アノテーション | @Entity、@Table、@Id、@Column、@Index |
いつ完了するか
- ORM コードがクリップボードに正常にコピーされました。
- フィールドのタイプ、主キー、インデックスは ORM コードで表現されます。
- ビジネスプロジェクトに貼り付けた後、大規模な調整なしで直接コンパイル/実行できます。
よくある落とし穴
- ORM の生成は、現在のテーブル構造のスナップショットに基づいています。フィールドの変更は再コピーする必要があり、自動的には同期されません。
- 一部のフレームワーク (多対多の中間テーブルなど) の複雑なリレーションシップでは、追加の手動調整が必要になる場合があります。
- 列挙型は ORM によって大きく異なります (例: Prisma 列挙型と JPA
@Enumerated)。生成後にレビューすることをお勧めします。 Schema Nameは一部のフレームワークでスキーマ/データベース構成にマップされますが、実際の効果は ORM 自体のデータ ソース構成によって異なります。