2012-07-24 39 views
1

我有一個由另一個webapp管理的現有數據庫架構。我正在創建的playframework需要讀取/寫入這個現有的模式,但它會在播放啓動時刪除並重新創建表格。如何避免使用PlayFramework創建架構

如何關閉表格創建?

更新:

  • 發揮1.2.5
  • MySQL的

UPDATE2:

@Entity(name="mytable_name") 
public class Sample extends Model {  
    public Integer some_value; 
    public String fullname; 
} 

一個控制器方法裏......

List<Sample> list = Sample.findAll(); 

表存在數據,我運行「玩測試」,擊中調用findAll的控制器方法,並且表被刪除,重新創建,現在爲空。

模式在數據類型與文本字段大小不一致時不匹配。我期待查詢錯誤,但不是這個。

回答

2

如果您正在使用播放1.x中使用JPA,你可以把這個線你application.conf

jpa.ddl=none 
+0

我試過,但可悲的是,它沒有改變結果。它仍會刪除表格及其所有內容,然後再次創建它,爲空。它在調用findAll()後做到了這一點() – darren 2012-07-24 08:04:20

+0

@darren:你是否像我在其他答案中建議的那樣禁用了進化? – biesior 2012-07-24 08:24:02

+0

是的,我也是這樣做的,沒有變化 – darren 2012-07-24 08:35:36

2

來自官方的evolutions' documentation

如果配置了數據庫演變自動激活在 application.conf和演變腳本存在。您可以通過將evolutions.enabled設置爲false來禁用 。例如,當測試 設置了自己的數據庫時,您可以禁用測試 環境的演變。

+0

是2.0嗎?如果是的話,如何禁用evolutions呢? – rOrlig 2012-11-22 23:11:47

+0

@gaurav這是播放1樣本,對於播放2檢查其文檔:http://www.playframework.org/documentation/2.0.4/Evolutions |您需要在application.conf文件中取消註釋此行:'evolutionplugin = disabled' |下次寫在單獨的問題 – biesior 2012-11-23 08:48:54