Add "created" and "last updated" columns to the needs table. The need for this change arose because a client wishes to send automatic match notifications, taking the "freshness" of the opportunity into account. It could also be used to build custom displays (e.g., "recently added volunteer opportunities).
"Last updated" can be automatically updated at the SQL level. "Created" will need to be managed in the BAO, since in versions of MySQL < 5.6.5, it is not possible to have the current timestamp be the default value for one column and the auto-update value for another column.