LoginSignup
0
1

More than 5 years have passed since last update.

【Ruby on Rails】【RDBMS】データベースの使い方[Progate]

Posted at

この記事はシリーズものです。
前記事はこちらを参照しよう!
参照URL: https://qiita.com/hiroshimaeasyryo/items/9b28763cce7f01ed9c59

では早速データベースを用意していきましょう

データベースにデータを保存する為には、「テーブル」を作成する必要がある。

「テーブル」など基本的な用語についてはこちらの記事を参照しよう!
参照URL: https://qiita.com/hiroshimaeasyryo/items/c143e72aa007e3fa0e47

1.まずはマイグレーションファイルを作る

マイグレーションファイルとは簡単にいうと
データベースに変更を指示する為のファイル。
このマイグレーションファイルを使うことで、SQL文を直接書かずに
データべースにテーブルを作成・変更することが可能。

つまりデータベースの種類(MySQL,PostgreSQL...)に左右されなくて済む。
(もっと言えばSQLが分からなくてもある程度大丈夫。)

また、テーブルの作成・変更をする毎にマイグレーションファイルが作成されるので、
そのファイルを使用してマイグレーションファイル実行前の状態にも戻せる。

$ rails g model テーブル カラム名:データ型
でマイグレーションファイルを作成する

スクリーンショット 2018-07-12 19.01.21.png

スクリーンショット 2018-07-12 19.01.43.png

マイグレーションファイルはディレクトリ"db/migrate"の中に作られる

スクリーンショット 2018-07-12 19.02.08.png

ファイルの中身はこんな感じだけど、コマンドによって自動生成
されたものなのでとりあえず理解しなくてよし

スクリーンショット 2018-07-12 19.02.20.png

2.データベースに変更を反映させる

コマンドで、
$ rails db:migrate
を実行する

スクリーンショット 2018-07-12 19.10.45.png

こんなテーブルが作成されます

スクリーンショット 2018-07-12 19.14.00.png

3.モデルを用いる

「モデル」ってなんだ

テーブルを操作するための特殊なクラス。
$ rails g model モデル名
でモデルを作成することが可能だが、マイグレーションファイルを作った時の
$ rails g model Post:text
で実はPostモデルが生成されている。

スクリーンショット 2018-07-12 19.27.15.png

ほら、できていた。
で、開いてみるとApplicationRecordというクラスを継承した、
Postクラスができていることがわかる。

スクリーンショット 2018-07-12 19.27.36.png

ApplicationRecordクラスが何かはちょっとまだわからない。
あとで触れられてくるはず。

0
1
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
0
1