Migrations - add_column :default=>true, :null=>false

Joe Ruby MUDCRAP-CE wrote the following on 15.10.2006 22:12 :

This seems pretty brain dead:

add_column :types, :notify_on_create, :boolean, {:default=>true,

$ rake migrate

Error: ERROR: column "notify_on_create" contains null values
: ALTER TABLE types ALTER notify_on_create SET NOT NULL

Why doesn't Rails set the new column to true, as it's supposed to
default to? I tried :default=>1 as well (same results).

Is there a way to make this migration work?


Do you use PostgreSQL by any chance?

Try to load this in your environment.rb:

# add_column in the original PostgreSQLAdapter
# begins by creating the column and then adds constraints
# which simply doesn't work... AbstractAdapter is ok -> super works
class ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
    def add_column(table_name, column_name, type, options = {})