LoginSignup
3
3

More than 5 years have passed since last update.

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

Posted at

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つかえ!みたいなご指摘あればいただけると助かります。)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3