Hmm... unversioned, untestable code saved in a database. What could go wrong.
One thing code versioning doesn’t do well either is executing multiple versions of the same logic. With rules as data, you can store them as timestamped versions and keep applying the correct historical rule against some older business object or view.