问题
In the Play 2.3.x documentation on Evolutions it says
In development mode however it is often simpler to simply trash your development database and reapply all evolutions from the beginning.
However it doesn't give instructions on how to do this. Is there some kind of activator command I can use to do this? How can I reset and reapply evolutions?
Thanks!
Update: I would prefer not to have to mess with my DB manually, but it seems like that's the only way
回答1:
If you don't care about the data you have in your database (make sure you don't), you can just drop the database with a sql command (such as "drop database name"). Once you run "play run" again, it should automatically recreate your tables from the sql scripts if you have followed play framework standards since according to the doc:
"Evolutions are automatically activated if a database is configured in application.conf and evolution scripts are present"
回答2:
I dont think there is such activator command which would reapply all the evolutions.
An evolutions consist of 2 part Ups and Downs where
- The Ups part the describe the required transformations.
The Downs part that describe how to revert them.
when you apply evolution first time an Ups part is applied and if further you change the schema through entity.It would reapply evolutions in ebean.
If you want to revert create a new dotsql file say 2.sql with Ups part of all drop statements.
By this
In developement mode however it is often simpler to simply trash your developement database and reapply all evolutions from the beginning.
I think they mean to manually drop all the database through your database gui etc.
Also check Similar
来源:https://stackoverflow.com/questions/28688297/play-framework-2-3-how-to-reset-database