こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Ruby on Railsでテーブルのカラムを指定してモデルを新規作成するやり方について丁寧に解説します。
モデルのみを新規作成するコマンドについては、以下の記事をご参考ください。
前提条件:実行環境について
実行環境はWindowsで、Ruby on Railsのバージョンは【6.0.3.5】です。
データベースとしてSQLiteを使っており、バージョンは【3.32.3】です
Ruby on RailsとSQLiteのインストールのやり方については、以下の記事をご参考ください。
Ruby on Railsでテーブルのカラムを指定してモデルを新規作成するやり方を解説
Ruby on Railsでカラムを指定してモデルを新規作成するやり方を解説します。
まず、コマンドプロンプトを立ち上げます。
(管理者権限でなくても、OKです!)
Ruby on Railsのプロジェクトがある場所までcdコマンドを使って移動します。
この記事では
C:\rails_study\sample
に作成しているので、そこまで移動します。
モデルを新規作成するためのコマンドは、
1 |
rails generate model モデル名 |
でした。
このコマンドにカラムを指定してあげればOKです。
カラムはモデル名の後ろに
1 |
rails generate model モデル名 カラム名1:データ型 カラム名2:データ型 カラム名3:データ型 … |
というように指定します。
データ型には
- binary
- boolean
- date
- datetime
- decimal
- float
- integer
- primary_key
- string
- text
- time
- timestamp
を指定することができます。
カラム名は複数記載してもOKです。
注意点としまして、2点あります。
1点目はカラム名とデータ型は「:」でつなぐことです。
2点目は、カラム名を複数記載する場合は、半角スペースを入れることです。
コマンドをたたく前に
プロジェクト\app\models
配下の状態を確認します。
【application_record.rb】のみであることを確認しました!
この記事では、【User】という名前にして、カラムを以下のように指定します。
カラム名 | データ型 |
---|---|
name | string |
age | integer |
上記のモデルを新規作成するためのコマンドは下記になります。
1 |
rails generate model User name:string age:integer |
コマンドをたたいて、指定した名前で
- マイグレーションファイル
- モデル
- test_unit
が表示されていれば、無事にすべて作成されています!
プロジェクト\app\models
の中を確認すると、userモデルが新たに作成されていることが確認できました。
新規作成されたモデルの中身は↓のようになっています。
1 2 |
class User < ApplicationRecord end |
マイグレーションファイルの中身は↓のようになっています。
指定したカラムが自動で設定されていることが確認できます。
1 2 3 4 5 6 7 8 9 10 |
class CreateUsers < ActiveRecord::Migration[6.0] def change create_table :users do |t| t.string :name t.integer :age t.timestamps end end end |
テストプログラムのuser_test.rbの中身は↓のようになっています。
1 2 3 4 5 6 7 |
require 'test_helper' class UserTest < ActiveSupport::TestCase # test "the truth" do # assert true # end end |
テストするためのデータ登録ファイルのusers.ymlの中身は↓のようになっています。
指定したカラムが自動で設定されていることが確認できます。
1 2 3 4 5 6 7 8 9 |
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html one: name: MyString age: 1 two: name: MyString age: 1 |
まとめ:テーブルのカラムを指定してモデルを新規作成してみよう
以上がRuby on Railsでテーブルのカラムを指定してモデルを新規作成するやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント