rails6 DBテーブルを作成する

rails6で、migrateを使用してDBテーブルを作成するまでの手順を記述してます。railsのバージョンは6.1.0です。
環境
- OS ubuntu20.10
- ruby 2.7.2
- rails 6.1.0
- Postgresql 13.1 (dockerで構築)
model作成
まずは、「rails generate」で「model」と「マイグレーションファイル」を作成します。
※「rails generate」は「rails g」と省略できます。
rails g model テーブル名 カラム名:型,カラム名:型...
ここでは、カラム「name」と「age」をもった「users」テーブルを作成します。
※実際に作成されるテーブル名は、usersと複数形になります。
rails g model User name:string age:integer
<出力結果>
Running via Spring preloader in process 48804
invoke active_record
create db/migrate/2020xxxxxx_create_users.rb
create app/models/user.rb
invoke test_unit
create test/models/user_test.rb
create test/fixtures/users.yml
uniqueにしたい場合は、「name:string:unique」とします。
カラムの型を指定しない場合は、全てstringとなります。
実際に作成された「2020xxxxxx_create_users.rb」のコードは以下のようになります。
class CreateUsers < ActiveRecord::Migration[6.1]
def change
create_table :users do |t|
t.string :name
t.integer :age
t.timestamps
end
end
end
テーブル作成
用意ができたので、「migrate」コマンドを実行してテーブルを作成します。
rails db:migrate
<出力結果>
== 2020xxxxxx CreateUsers: migrating ======================================
-- create_table(:users)
-> 0.0522s
== 2020xxxxxx CreateUsers: migrated (0.0550s) =============================
テーブル確認
「users」テーブルが作成されていることが確認できます。

ファイル削除
テーブルを作成し終えて、特に必要がなければファイルは、destroyでクラス名を指定して削除できます。
※ここで作成したクラス名は「2020xxxxxx_create_users.rb」の「CreateUsers」となります。
rails destroy migration CreateUsers
<出力結果>
Running via Spring preloader in process 50082
invoke active_record
remove db/migrate/2020xxxxxx_create_users.rb
-
前の記事
SourceTreeでコミットIDを取得する 2021.03.14
-
次の記事
php 配列の先頭の値を削除する「array_shift」と「array_slice」のパフォーマンスを計測する 2021.03.15
コメントを書く