DB module
This module allows you to export your JPA classes to an SQL script or to import a database tables to POJO instances.
Enable the DB module for the application
In the /conf/application.conf file, enable the DB module by adding this line:
# The db module
module.db=${play.path}/modules/db
You can also define a default schema (as in hibernate.default_schema
) with :
# Default Schema
db.default.schema=MY_SCHEMA
Creating an SQL script from your domain model
play db:export myapplication
This command will create the SQL necessary to create your database. This is extremely usefull if you want to deploy your application in production and you are require to update the database manually.
Be sure to configure correctly your JPA dialect in your /conf/application.conf file.
Options (only with play! version greater than 1.0.2.1)
Generate only the SQL drop clauses
play db:export myapplication --drop
Generate only the SQL create clauses
play db:export myapplication --create
Specify the SQL delimiter
play db:export myapplication --delimiter=;
Specify the output file
play db:export myapplication --output=myfile.ddl
Export to the database
play db:export myapplication --export
Import extra data to the database (to be use with —export)
play db:export myapplication --import=import.sql
Do not format the SQL.
play db:export myapplication --noformat
Halt the export / script generation on the first error
play db:export myapplication --haltonerror
Creating your domain model from the database
play db:import myapplication
This command will create the classes in the models package based on the database tables. This is useful is you have an existing database and you want to re-use this database.
Be sure to configure correctly your database access using your /conf/application.conf file (db.user
, db.pass
, db.driver
, db.url
, etc…).
Options (only with play! version greater than 1.0.2.1)
Enables CRUD Controller generation (with the secure-module annotation).
play db:import myapplication --crud
Disables POJO generation. Useful if you want to keep the already generated files.
play db:import myapplication --no-pojo
Enables reverse engineering customization.
See Hibernate Tools documentation
WARNING: the <table>
elements in the reverse engineering file seems to be ignored for POJO and CRUD generation.
<schema-selection>
, <type-mapping>
and <table-filter>
work correctly, though.
play db:import myapplication --reveng=path.to/hibernate.reveng.xml