1
0

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.

懺悔:Railsカラム追加時に過去データのnullを見落とし、過去データ全てが見れなくなりました。

Last updated at Posted at 2020-05-08

過去データがnullなので全部見れなくなりました

要望:testというカラムを作り、それがfalseの時は表示しない

testというカラム増やしました
class AddColumnPrograms < ActiveRecord::Migration[5.2]
  def change
    add_column :program, :test, :boolean, after: :id, comment: 'テストかどうか'
  end
end
Controller
@programs = Program.where.not(test: false)

動作確認

  • 新規に Program.new(test: false) を行い一覧に表示されてないこと
  • 新規に Program.new(test: true) を行い一覧に表示されていること

無事両方とも動作しましたが、過去データのテストが抜けておりました。

カラム追加時は default 値も考えよう。

default false をカラム追加時に忘れないようにしましょうという教訓でした。
何よりテストコードが大切ですね。

1
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?