2013-12-16 1 views
3

Я хотел выполнить тестирование моей базы данных, и я нашел this code. Тем не менее, я получаю сообщение об ошибке: followinКонструктор DdlGenerator не нуждается в аргументах?

[CityGame] $ test 
[info] Compiling 2 Java sources to /Users/pmichna/Documents/code/citygame/target/scala-2.10/test-classes... 
[error] /Users/pmichna/Documents/code/citygame/test/models/BaseModelTest.java:31: error: constructor DdlGenerator in class DdlGenerator cannot be applied to given types; 
[error]   ddl = new DdlGenerator((SpiEbeanServer) server, new MySqlPlatform(), config); 
[error]    ^
[error] required: no arguments 
[error] found: SpiEbeanServer,MySqlPlatform,ServerConfig 
[error] reason: actual and formal argument lists differ in length 
[error] 1 error 
[error] (test:compile) javac returned nonzero exit code 
[error] Total time: 2 s, completed 2013-12-17 00:21:23 

ли реализация DdlGenerator изменилось?

ответ

7

Да, реализация изменилась. Конструктор не принимает аргументов, но вместо этого существует метод setup(), который следует использовать. Это привело к чему-то вроде этого:

EbeanServer server = Ebean.getServer(serverName); 
ServerConfig config = new ServerConfig(); 
DdlGenerator ddl = new DdlGenerator(); 
ddl.setup((SpiEbeanServer) server, new MySqlPlatform(), config); 
+0

Спасибо! Где вы находите эту информацию? Я просмотрел Ebean JacaDoc и ничего не смог ... – pmichna

+1

Я посмотрел исходный код игры. Он использует 'DdlGenerator' для инициирования сценариев эволюции. См. Здесь: https://github.com/playframework/playframework/blob/master/framework/src/play-java-ebean/src/main/java/play/db/ebean/EbeanPlugin.java#L114 – mguillermin