0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

モデル作成、削除等のあれこれ

Posted at
1 / 2

毎回忘れるので、自分の忘備録用に

モデルの作成

外部キー制約(※1)をつけるならreferrence型で作成(インデックスは自動で付貼ってくれる)
カラムはuser_idではない点に注意

rails g model Article title:string text:text user:references

(*1)存在しない値の外部キーは登録できない(整合性がとれる)、親テーブルに外部キーが登録されている子テーブルのリソースは削除できない


外部キー制約をつけないならintger型で作成(インデックスを貼るならマイグレーションファイルで記述が必要)
カラムはuser_idにする

rails g model Article title:string text:text user_id:intger

単純にマイグレーションファイルだけの作成

rails g migration Artcle

#モデルの型

  • string : 文字列(255字まで)
  • text : 文字列(string以上の文字数の場合)
  • references: 外部キー
  • integer : 整数
  • float : 浮動小数点
  • datetime : 日時
  • time : 時間
  • date : 日付
  • boolean : trueまたはfalse

削除

マイグレーションを実行する前か後かで操作が変わるので注意(rails db:migrateをしたかしてないか)

rails db:migrate前ならdestroyで削除

rails destroy model Article

rails db:migrate後ならロールバックで戻す

rails db:rollback #1つ前
rails db:rollback STEP=2 #2つ前
rails db rollback VERSION=202007012345 #バージョン指定で戻す

そのあとに rails destroy model Article で完了。

カラムの追加と削除

カラムの追加

rails g migration AddSubtitleToArticles subtitle:string



カラムの削除

rails g migration RemoveSubtitleFromArticles subtitle:string

テーブル名Artcles(複数形)になる点に注意
マイグレーションファイルではchangeメソッドの中に記述される。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?