NAME
CatalystX::Crudite::Manual::Cookbook - Miscellaneous recipes
Introduction
In all recipes, replace strings like MyApp
, myapp
and MYAPP
with the appropriately cased versions of your actual web application name.
Using multiple configurations
Problem: You want to use several configurations, for example, for testing, staging and production environments.
Solution: Use the standard Catalyst::Plugin::ConfigLoader
mechanisms.
Create a configuration file myapp_test.yaml
:
Model::DB:
connect_info:
dsn: "DBI:Pg:database=myapp_test;host=localhost"
user: foobar
password: foobar
and another file myapp_stage.yaml
:
Model::DB:
connect_info:
dsn: "DBI:Pg:database=myapp_stage;host=localhost"
user: foobar
password: foobar
And so on for each of your deployment environments. Now you can choose which configuration file to use by setting a special environment variable to the file name suffix:
export MYAPP_CONFIG_LOCAL_SUFFIX=test
export MYAPP_CONFIG_LOCAL_SUFFIX=stage
The configuration in these files overrides your global configuration that is stored in lib/MyApp.pm
.