Ruby on Railsの超基礎!モデルとデータベースとよく使うコマンド!

SPONSORED LINK

これまでアプリ制作の流れやMVCについて当ブログでは幾つかの記事に分割して説明をしてきました。当ブログを読んでくださってる方は、それなりに理解して活用してもらってると信じています。

とはいえモデルとデータベースについてはあまり説明を行ってきませんでした。というのも、プログラミングをそれなりに理解していないと難しいからです。今回はそんなモデルとデータベースについて理解してみましょう。

データベースとモデル

これまで何度も説明してきていますが、データベースとはデータの基地です。

様々なデータを表形式で一括管理している場所となっています。当ブログでもデータベースについて言及しています。「プログラミングの必須知識!データベースは便利なデータ貯蔵庫です」もあわせて確認してみてください。

プログラミングの必須知識!データベースは便利なデータ貯蔵庫です

2016.10.14

 

では、Ruby on Railsにおいてのデータベースについて触れていきます。

Ruby on Railsでは、データベースとのやり取りをコントローラーとモデルが執り行います。モデルというのはテーブル骨格のようなもので、それぞれのテーブルに対して1つづつ作成されていきます。もう少しモデルについてみていきます。

 

 

モデルについてもう少し詳しく

モデルとはクラスに近いものと認識してもらえれば十分です。Ruby on Railsでは、データベースとのやり取りが発生するごとにモデルクラスのインスタンスが生成されていきます。

 

例えば、生徒テーブルが存在していて1、太郎、15歳、男と2、花子、14歳、女という合計2つのレコードがそれぞれ存在するとしましょう。そして、コントローラー内のindexアクションにて、二人のデータを取り出すよう指示があるとします。

@studentsという変数に対し、Studentテーブルのレコード全てを代入するようにしています。中にはもちろん太郎の情報と花子の情報が入っていることになります。

その情報の保存のされ方を、今一度確認してみましょう。

 

モデルとインスタンス

@studentsという変数に対して、Studentクラス(モデル)の1(太郎)と2(花子)がインスタンスとして生成されています。また各Studentモデルのインスタンスには、太郎と花子に関する情報も同時に記録されています。

  1. id
  2. 名前
  3. 年齢
  4. 性別

簡単言いますが「二重のハッシュ」のような構造になっています。みなさんはここに気づいたでしょうか。このようにデータベースから情報を取り出す際は、モデルのインスタンスがそれぞれ生成され情報が格納されています。

 

以上がモデルとデータベースの基本的な知識になります。

それではモデルやデータベースに関する様々なファイルやコマンドを確認していきましょう。

 

モデルとデータベースの管理

Railsではターミナル(Windowsではコマンドプロンプト)を利用して、アプリやファイルの管理を行っていきます。Ruby on Railsはブログやレンタルサーバーと違って管理画面がないので、GUIでの統制を行うことができません。

ですので、コマンドを利用してアプリ開発を統制していく必要があります。

 

モデルの作成

Ruby on Railsではコマンドを多く利用しますが、その中でもrails gコマンドは多く使用します。このgはGenerateの省略形で「作り出す」という意味があります。

 

マイグレーションファイル

マイグレーション・ファイルはデータベースに対して、作成や更新を行うときに作成するファイルです。Add〇〇の〇〇の部分は追加したいカラムの名前を書いておきます。

例えばuser_idをTweetテーブルに追加したい時は、下のように書くのが良いでしょう。

 

rakeコマンド

このコマンドも良く使うコマンドとして覚えておく必要があります。先程うえで作成したマイグレーション・ファイル(テーブルに追加や更新を行うためのファイル)を、SQL上のテーブルに適用させるコマンドです。

 

データベースに関するコマンド

データベースも同様にrakeコマンドを使用していきます。まずは最も重要なコマンドである、データベースを作成するものを覚えておきましょう。

データベースの作成

データベースを作成するには上記のコマンドを利用します。

ただし、これだけではデータベースの起動は行われません。ぜひとも下のコマンドも覚えておくことが大切ですね。

 

データベースの起動

MySQLを利用してアプリを作成する場合は、データベースを作成した後に上のコマンドを利用してデータベースを起動させます。

 

まとめ

以上、モデルやデータベースについて説明してみました。

あまり自分の中でも理解できず、とりあえず書ききった感じではあります。もうちょっと情報を載せることができたかなと思っていますが・・・。相変わらずプログラミング系の記事は難しいですね。

というのも、どこまでの情報量を載せるべきなのか、とか難易度とか。

これからも頑張って更新していきます!まずはもうちょっと、分かりやすい記事を書きたいですね。頑張ります。

SPONSORED LINK

更新情報はSNSでお届け

ABOUTこの記事をかいた人

HIRO

旅・音楽・プログラミング・ブログを愛するコンテンツ・クリエーター、ミニマリスト。ガジェット、海外ドラマ、旅行が好きで、趣味は読書。都内のIT企業でSEとして働いています。※このブログでの発言はすべて個人に帰属し、企業や団体とは一切関連がありません(PRを除く)。