Play Framework 2.3 how to reset database?

会有一股神秘感。 提交于 2020-01-14 09:07:07

问题


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

  1. The Ups part the describe the required transformations.
  2. 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!