There are two types of approaches. Generating things like migrations
and model classes for data storage is generally not "dynamic" but can
be generated by code. It is more common to use a more generic schema
for data storage and dynamically create the presentation. This would
be more "dynamic" as the behavior is changing at run-time rather than
design-time. I am not sure which approach you were asking about.
Who are your users? Are they HR people that are not programmers? If
this is the case you definitely do not want to be changing the
database schema at run-time unless you really know what you are
doing. There are a lot of issues with modifying a production database
schema that end-users will not be able to cope with. If you are
targeting programmers then are you looking to help them during
development or after deployment?