Trả lời

8

Tuyên bố từ chối: nó sẽ hủy cơ sở dữ liệu hiện tại của bạn và tạo cơ sở dữ liệu mới!

Các tính năng tự động tiến hóa sẽ tự động tái tạo khi:

  • bạn đang chạy ứng dụng của bạn trong dev chế độ
  • trong application.conf bạn có dòng này không nhận xét: ebean.default="models.*"
  • có chỉ một tệp trong thư mục diễn biến của bạn và nó là 1.sql
  • nó có nhận xét này lúc đầu:

# --- Created by Ebean DDL

+1

tôi phát hiện ra kịch bản chỉ tái tạo khi tôi thực hiện 'chơi thử'. Nếu tôi chơi 'play clean' hoặc 'play compile', nó sẽ không. Bạn có biết lệnh nào là cần thiết để làm cho kịch bản tiến hóa tái tạo không? – angelokh

+0

@angelokh - xin lỗi, tôi không tìm thấy bình luận của bạn trước đây:? có lẽ bạn đã tìm thấy câu trả lời sau một thời gian dài, tuy nhiên, tất nhiên việc tái tạo lại chỉ hoạt động ở chế độ 'dev' – biesior

0

Sử dụng chơi 2.4, Slick 3.0.3 & Postgres các tập tin * sql đặt trong thư mục tiến hóa được tự động tạo ra trong Heroku bằng cách sử dụng thiết lập sau:

trong build.sbt:

"com.typesafe.play" %% "play-slick" % "1.0.1", 
    "com.typesafe.play" %% "play-slick-evolutions" % "1.0.1", 
    "com.typesafe.slick" %% "slick" % "3.0.3", 
    "org.postgresql" % "postgresql" % "9.4-1201-jdbc41", 
    "org.slf4j" % "slf4j-nop" % "1.6.4", 

trong application.conf:

slick.dbs.default.driver ="slick.driver.PostgresDriver$" 
slick.dbs.default.db.dataSourceClass = "slick.jdbc.DatabaseUrlDataSource" 
slick.dbs.default.db.properties.driver = "org.postgresql.Driver" 

và trong Procfile:

-Dplay.evolutions.db.default.autoApply = true 

Cheers