Help us understand the problem. What is going on with this article?

【はじめてのプログラミング】Ruby on Rails_ データベース構築。あとrailsとrakeの違い。

More than 3 years have passed since last update.

Ruby on Railsにおけるデータベース構築

Ruby on RailsでWebアプリケーションを作成していると、MVCモデルに気を取られてデータベースのことを忘れてしまうこともしばしば。
ただ、非常にかんたんにデーターベースを作成、してまた操作もSQLではなくRubyでできます。

(1)マイグレーションファイル(設計図)の作成

マイグレーションファイルとは、データベースのもととなるの設計図のようなものです。
このマイグレーションファイルを実行すると、それに沿ったデータベースができあがる。

ex) ユーザが投稿する内容を保管しておくためのデータベースを作る

まずコンソールで以下のコマンドを実行する

rails g model Post content:text
#マイグレーションファイルを作成する

ここで注意なのが、postsテーブルを作成する場合にはPostと単数形にすることです。
contentはカラム名(Excelでいうところの列の名前)で、textはデータの型(text以外にもstringやintegerなど)

先程のコマンドを実行することで、db/migrateフォルダの下にマイグレーションファイルが作成されます。

(2)マイグレーションファイル(設計図)を使ってデータベース(目的物)に変更を加える

コンソールで以下のコマンドを実行する

rails db:migrate

ここでよくあるミスとして、(1)でマイグレーションファイルは作ったけど、その後データベースに反映させていないというケース。
その場合マイグレーションエラーが発生してしまうので、上記のコマンドでマイグレーションファイルを反省させましょう。

(参考)rails と rakeの違い

【参考リンク】
binって何?railsとrakeって何??(後編)

マイグレーションファイルを適用させるときのコマンドとして、参考先によっては以下の2つの方法が存在しています。
しかし結論から言うと、今の段階ではどちらでもOK。できるならrailsのほうがいいかも。という状況です。

#(A)rails を使う
rails db:migrate

#(B)rake を使う
rake db:migrate

railsは

アプリケーションに最低限必要なフォルダやファイルを自動的に作成

であり

rakeは

Rakeとは Rubyで記述されたビルドツールです。

です。

できることはほとんど同じです。
ただしRuby5からはrake→railsに統一されたため、今後はrailsをメインとして使っていく方向のほうがいいかと思います。
(もしrakeつかえ!みたいなご指摘あればいただけると助かります。)

shogotgm
型安全なフロントエンジニア
atrae
People Techカンパニーとして、転職サイトGreen, ビジネスマッチングアプリyenta, 組織改善プラットフォームwevoxなどのサービスを運営。全ての社員が誇りを持てる組織と事業の創造にこだわり、関わる人々がファンとして応援したくなるような魅力ある会社であり続けることを目指しています。
https://atrae.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away