【Rails】モデルに列挙型(enum)を定義し、使いこなす方法

はじめに Railsはモデルでカラム名と同名の列挙型(enum)を定義することで、カラムと列挙型の変数を紐付けることができます。カラムと列挙型の変数を紐付けると、カラムに対して様々な便利な使い方ができるようになります。 本記事では、モデルに列挙型(enum)を定義し、使いこなす方法について説明します。 モデルに ...

【Rails】モデルに外部キーを設定する方法とよく起こるエラー内容について

はじめに Railsでモデルに外部キーを設定する方法について説明します。 モデルに外部キーを設定する リレーションシップ 今回は1つのブログ記事は複数のコメントを持つ1対多のリレーションシップを例に説明します。現在はArticleモデルのみ存在し、外部キーとしてArticleモデルのIDを持つCommentモデ ...

【Rails】Active Record(モデル)の書き方《バリデーション篇》

はじめに ActiveRecord(モデル)のバリデーション設定を行うことで、実際にデータが保存される前に不適合データを弾くことができます。ほとんどのデータベースはカラムに制約を設定することができますが、Railsアプリのモデルでバリデーションを行えば、Railsアプリとデータベース間の無駄なやり取りを減らすこ ...

【Rails】Active Record(モデル)の書き方《基本篇》

はじめに ActiveRecord(モデル)は、MVCモデルのMに相当します。モデルはRailsアプリとデータベースの橋渡し役を担います。データベースの種類(MySQL、MariaDB、PostgreSQL、SQLite)にかかわらず、統一的なインターフェースでデータの操作(取得、作成、更新、削除)を行うことが ...

【Rails】マイグレーションの書き方《Seed篇》

はじめに Railsには、マイグレーションで作成したデータベーススキーマにテストデータを登録する機能が用意されています。それがSeedと呼ばれるものです。Seedはテストデータを登録する処理をRubyで記述し、コマンドを実行することでデータベースにテストデータを登録することができます。 Seedを使うと、大量の ...

【Rails】マイグレーションの書き方《実行篇》

はじめに ActiveRecordの機能のひとつ、マイグレーションは便利な機能ですが、使い方を間違えるとせっかく作ったデータベースを破壊してしまいかねません。データベースの操作を間違えたときに有用なロールバックも、きちんと手順を守って行わないとマイグレーションの整合性が崩れてしまう可能性があります。 本記事では ...

【Rails】マイグレーションの書き方《作成・編集篇》

はじめに データベースベンダーに依存することなくテーブルの作成やカラムの追加/削除などが行えるマイグレーションというActiveRecordの機能があります。マイグレーションはデータベースのスキーマ変更をバージョンとして管理するので、いつでもスキーマ変更を元に戻したり再実行できたりします。 本記事では、マイグレ ...