Publicité
Publicité

Contenu connexe

Dernier(20)

Publicité

20220331_gorm_テーブル定義.pptx

  1. GolangのORMライブラリ・GORM データテーブル定義編 1/9
  2. Object-Relational Mapper(ORM)とは? 2/9 SQLを書かずにオブジェクトメソッドでDBを操作するためのツール ・CRUD操作 ・マイグレーション ・トランザクション ・DryRun Etc. ・作成日時や更新日時の自動挿入
  3. 3/9 GORMの特徴 ・静的型付け言語で作られたフル機能ORM ・Hooksによる、処理の前後に呼ばれる関数の定義 ・イーガーロードによる検索効率化(N+1問題対策) ・構造体によるフィールド定義 ・厳格な記述規約によるコード管理の緩和
  4. 4/9 GORMによるUsersテーブル定義 データテーブル作成のため、Goの構造体を定義する。 各単語は必ず大文字から始めること テーブル名を複数形で書く フィールド名を 定義する データ型を定義する gorm: から始まるタグで フィールドのルールを 定義する 配列型など、RDBMSごとの固有の型は SQL形式で定義を記入する
  5. 5/9 マイグレーションで作成されたUsersテーブル 定義したテーブル名、フィールド名はすべて スネークケースに変換される テーブル名はusers 自動採番 配列型 主キーやユニークキーなど
  6. 6/9 テーブル作成のコーディング① databaseパッケージに前述と同じ要領で5つの構造体を定義する
  7. 7/9 テーブル作成のコーディング② 5つの構造体から テーブル作成 データベースに接続し、 AutoMigrate関数を実行するだけで テーブル定義を最新に保つことができる
  8. 8/9 テーブル作成のコーディング③ 少ないコード量でテーブルの定義を簡単に行うことができた 自動採番のための~_id_seqも作成されている
  9. 9/9 GORMを使った所感 ・オブジェクトでDB操作が快適に行える点が良い ・GolangのGraphQLライブラリと相性が良い (記述規約がほとんど同じ) ・豊富なタグ機能により、柔軟なかつ厳格なルール付けを行うことが可能 (外部キー制約や読み取り専用フィールドなど)
Publicité