We have a server application that exposes a certain model, and set of services built on that model, to a particular client UI through a number of protocols. This is the kind of
To elaborate on @duffymo , Grails has a bootstrapping mechanism where you can insert the reference data you need on application startup. You can write the code such that you can detect if the reference data in bootstrap and only insert if you need it; its very hands off once its done.
Its particularly elegant in the code can detect the environment in which it is running on do different things in different environments, if you need to.
Finally, if you use Grail's scaffolding machinery, it will generate default Crud screens for you. You can have CRUD operations up in running in literally minutes.