revert setting NOT NULL constraints in add_timestamps

Commit 3dbedd2 added NOT NULL constraints both to table
creation and modification. For creation the new default
makes sense, but the generic situation for changing a
table is that there exist records. Those records have
no creation or modification timestamps, and in the
general case you don't even know them, so when updating
a table these constraints are not going to work. See
a bug report for this use case in #3334.
This commit is contained in:
Xavier Noria
2012-03-01 16:15:00 -08:00
parent c2897901de
commit bbe7dac223

View File

@@ -508,8 +508,8 @@ module ActiveRecord
# ===== Examples
# add_timestamps(:suppliers)
def add_timestamps(table_name)
add_column table_name, :created_at, :datetime, :null => false
add_column table_name, :updated_at, :datetime, :null => false
add_column table_name, :created_at, :datetime
add_column table_name, :updated_at, :datetime
end
# Removes the timestamp columns (created_at and updated_at) from the table definition.