このコードは、既存データでarchivedがnilだからですかね？

このへんとか、後々、この辺のコードが謎コードになって、負債になりそうな予感がするので、やっぱりmigrationか何かで一気に更新をかけてしまったほうが良いかなぁ、と思いました。