The 12factor approach to config is
The twelve-factor app stores config in environment variables…they are a language- and OS-agnostic standard.
I’ve worked on many (rails) projects where configuration items like the boundary box for a map or the name of a client, were stored in a database table, usually named something like settings
or system_config
. Some projects had 1 column per configuration setting, others 1 row per configuration setting
These then get accessed by DB calls and treated in-app as records. Is this a violation of the 12factor description? It feels like it is, since it’s not an environment variable and they aren’t language agnostic. I know there are alternatives which use ENV, such as figaro and dotenv, but is the DB solution wrong or just another option?
3