Ruby on Rails で API を作る(モデル編)

著名な Web バックエンドフレームワークである Ruby on Rails を学び、 API を作ります。第2回のこの記事では、Rails でモデルを作成し、マイグレーションを実行します。

    Loading...

## モデルの作成

model はデータベースのテーブルに対応します。今回は試薬を管理する Reagents テーブルを rails g model コマンドで作成します。

モデルの作成
$ rails g model Reagent name:string chem_formula:string amount:float amount_unit:string

カラムの型

type説明
string文字列
text長い文字列
integer整数
float浮動小数
decimal高精度浮動小数
timestampタイムスタンプ
time時刻
date日付
binaryバイナリ
boolean真偽値


/db/migrate/ に以下のマイグレーションファイルが作成されます。

timestamp_create_reagents.rb
class CreateReagents < ActiveRecord::Migration[7.0]
  def change
    create_table :reagents do |t|
      t.string :name
      t.string :chem_formula
      t.float :amount
      t.string :amount_unit

      t.timestamps
    end
  end
end

マイグレーションを実行します。

マイグレーション
$ rails db:migrate

## マイグレーションの作成

手動でマイグレーションを作成するには rails g migration コマンドを実行します。今回は Reagents テーブルに maker カラムを追加するマイグレーションを作成します。

マイグレーションの作成
$ rails g migration AddMakerToReagents maker:string

/db/migrate/ に以下のマイグレーションファイルが作成されます。

timestamp_add_maker_to_reagents.rb
class AddMakerToReagents < ActiveRecord::Migration[7.0]
  def change
    add_column :reagents, :maker, :string
  end
end

マイグレーションを実行します。

マイグレーション
$ rails db:migrate

## PostgreSQL を使う

以下の記事が参考になりました:

Windows11×Rails7×ポスグレSQL 環境構築 - Qiita
はじめに近いうちにRails7とWindowsで(ローカル)開発することになりまして、今回メモとして残していこうと思います。メモ代わりとしてなので、少し説明雑なところもあるかもしれません。。も…
Windows11×Rails7×ポスグレSQL 環境構築 - Qiita favicon qiita.com
Windows11×Rails7×ポスグレSQL 環境構築 - Qiita

## 参考

Active Record マイグレーション - Railsガイド
Active Recordのマイグレーション (migration) を使用して、データベースを構造化された方法で整然と変更する方法について解説します。
Active Record マイグレーション - Railsガイド favicon railsguides.jp
Active Record マイグレーション - Railsガイド
記事がありません