Rails is wrong in its coercion of empty dates to nil and requiring a
table field to allow NULL as the only alternative to a valid date entry.

NULL = unknown, unavailable, "still waiting" etc.

It's a well established discussion that NULL is needed to allow that
third option to zero and non-zero, empty and non-empty.

Rails is wrong in insisting that logic does not extend to dates.

A valid date = an affirmative akin a non-empty string, a non-zero
number.

A 0000-00-00 is an affirmative akin to an empty string, or a zero.

NULL is the _third_ option.

A valid date says an event happened. A NULL says we're still waiting for
confirmation that the event happened. A 0000-00-00 says that the event
did not happen, never will happen. It is not "unknown." It is not
"unavailable."

Rails is wrong in asserting that 0000-00-00 is poor database design, and
Rails is wrong to prevent the value from being used.
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to