When you are in a team, different developers would use the different configuration keys in theirapplication.conf. For example, the log level, some database configuration ... This generally leads to recurrent conflicts if you commit the file using the your VCS.
Furthermore, different deployment environments–e.g. Dev, test, staging, Production–need different.
The Framework ID
To resolve the problem, Play allows to give a ID to each framework installation. Use the Play tool's ID command to define this ID:
play id
You can then prefix your configuration keys and the framework ID for which, the configuration option is intended:
application.name=Cool appapplication.mode=devapplication.log=INFO # Configuration for gbo%gbo.application.log=DEBUG%gbo.db=mem # Configuration for src%scr.http.port=9500 # Production configuration%prod.http.port=80%prod.application.log=INFO%prod.application.mode=prod
Setting the framework ID from the command line
You can specify the framework ID of the to use for a particular command directly from the command line. For example to run a application in production mode can use:
play run --%production
With these lines defined in the application.conf file:
application.mode=dev%production.application.mode=prod
It should is compatible with all commands using the framework ID information. The default ID is still defined using the Play ID command.
By the-the-by, play Test was then equivalent to:
play run --%test
Continuing the discussion
Now we shall move in to Production deployment.
Manage application.conf in several environments