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 -~----------~----~----~----~------~----~------~--~---
