今の自分自身と全く同じ分子構成を再現できたとすると、それは誰なんだろう。関係ないけどからくりサーカスや彼方のアストラを読んだ時もその辺りが気になってしょうがなかった。
古いSFの現在より圧倒的に進んだテクノロジーと、現在の方が圧倒的に進んでしまっているような古いテクノロジーが融合している世界を読むのがなんか好き。インターネットの情報革命は当時は想像もできない世界だったんだなぁ。
Permission denied
Railsで、NOT NULL制約がついてないカラムに後からマイグレーションでNOT NULL制約をつける時のやり方。
migrateファイルで、change_column_nullを使う。DEFAULTも設定する場合はさらにchange_column_defaultも行う必要がある。
class ExampleMigration < ActiveRecord::Migration[6.0]
def change
change_column_null :table, :column, false, true
change_column_default :table, :column, from: nil, to: true
end
end
change_column を使うと PG::NotNullViolation: ERROR: column "
column" contains null values
の様に、すでにレコードが作成されていた場合はエラーになってしまう。change_column_nullを使うとNULLのカラムをデフォルト値(4パラ目)でUPDATEしてからNOT NULL制約をつけてくれる。