DBに慣れよう!Ruby on Railsのrakeコマンドでデータベースを作成する方法【初心者向け】
Ruby on Railsでrakeコマンドを使ってデータベースを作成する方法を解説しています。railsを始めたばかりという人は少し見慣れないコマンドも出てくるかと思いますが、実際に自分で打ちながら動作確認してみると良いでしょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
RubyのフレームワークのRuby on Railsでデータベースを作成し、操作する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
rake dbコマンドを使いながらデータベースの扱いに慣れていきましょう。
自分のPCで、実際に動作確認しながら読み進めていくと理解も早まるでしょう。
目次
Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
今回はRuby on Railsのデータベースについて解説しよう。
田島メンター!!データベースはどのフォルダにあるんですか〜?
そうだね、まずは実際に作成して場所を確認してみようか。データベースの操作はrake dbコマンドを使用するよ。
お願いします!
rake dbコマンドとは
Ruby on Railsではデータの保存にSQLiteやMySQLといったデータベースを使うことが多いです。
データベースに対して何か操作を行いたい時のコマンドがrake dbコマンドです。
頻繁に利用するコマンドを解説していきます。
実際にdbコマンドを使ってみよう
データベースを作成したい
$ rake db:create
実際に作成されるデータベースは、config/database.ymlでの設定内容に基づき作成されます。
database.ymlの中身を確認してみましょう。
Ruby on RailsはデフォルトではデータベースにSQLiteを使用します。
adapterという項目に、sqlite3と記載があることがわかります。
default,development,test,productionと項目が分かれていますが、defaultの部分は各項目で共通の値なので、共通化する用途で使われています。
rake dbコマンドは、デフォルトでdevelopmentのデータベースに対して操作を行うので、上記コマンドを実行した場合にはdevelopmentのデータベースが作成されます。
もし、productionのデータベースを作成したい場合には、次のようなコマンドを実行します。
$ rake db:create RAILS_ENV=production
コマンドを実行したら、dbフォルダの中を確認してみよう。
development.sqlite3というファイルと、test.sqlite3というファイルが作成されてますね。
念のため、データベースを削除する場合のコマンドも覚えておこう。
データベースを削除したい
$ rake db:drop
データベースの削除が行われます。
特に警告など行われずに削除されてしまうので、もし実行する際は注意してください。
開発中であれば、データをリセットしたい場合などに使用することが多いです。
マイグレーションを実行したい
$ rake db:migrate
Ruby on Railsではマイグレーションによってデータベースの構造を管理しています。
上記コマンドを実行するとdb/migrateディレクトリに存在する全てのマイグレーションを実行します。
マイグレーションが実行される場合は、マイグレーションファイルに記載された内容に基づき構造が定義されます。
実行すると、どのマイグレーションにどのくらい時間がかかったかを表示してくれます。
マイグレーションのバージョンを知りたい
$ rake db:version
現在の適応されているマイグレーションのバージョンを表示してくれます。
マイグレーションのバージョンを下げたい
$ rake db:rollback
デフォルトの状態では、マイグレーションのバージョンを1つ下げます。
STEPという環境変数を定義すると、指定した数のバージョンを下げることができます。
例えば2つバージョンを下げたい場合は、このように書きます。
$ rake db:rollback STEP=2
以上、よく使うrake dbコマンドについて解説しました。
実際に開発を進めていくと、データベースの中身を扱うことはよくあります。
データベースは、ユーザー情報など大事なデータを取り扱う部分になるので、使い方をしっかり覚えておきましょう。
データベースの削除などは、特に注意して実行しよう。
この、マイグレーションというのは何ですか〜?
マイグレーションというのはデータベースを作る設計図のようなもので、あとから項目を編集したいときなどに役立つんだ。これに関してはまた別のところで詳しく見ていくよ。
分かりました。ありがとうございます!
Ruby on Railsを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
プログラミングを学習していて、このように思ったことはありませんか?
テックアカデミーのWebアプリケーションコースでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、Ruby on Railsを使ったWebアプリケーション開発を学べます。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!