For example:
- I have an ACL (access control list) with keys in the database like
create_user
andallow_booking_for_past_dates
. Each ACL entry has a corresponding method or function name in the application. - I have several 'controller' classes for a web application each of which may have one or more references in a 'pages' table in the database.
In both cases whenever a change is made to the application, someone has to remember to update the database and vice versa. Updating the application after a database mod can be relatively pain-free by naming the keys such that they can be easily found by search-replace. Finding instances of an identifier in the database can be similarly pain-free.
Everything else usually is either contained completely in the application (sub-classing, configuration files, etc) or entirely in the database (primary keys, foreign keys, indexes, etc).
How to keep track of these identifiers that bridge the two domains?
We currently have a Word document (of all things) with a table neatly describing the key name, where to find it and a description of what it is. This seems to work better than the "commit it to the application, create the entry in the db and cross your fingers for the future" approach.