6

Итак, я пытаюсь развернуть мое очень простое приложение Play Framework 2.1.1, но всякий раз, когда я передаю флажки через командную строку для порта и применяю эволюцию базы данных, они игнорируются.Play Framework 2.1.1 Проблемы развертывания

Например:

sudo play start -Dhttp.port=80 -DapplyEvolutions.default=true

Используя эту команду, сервер не запустится. Оба порта и applyEvolutions = истинные флаги игнорируются полностью и выдает эту ошибку:

[warn] play - Your production database [default] needs evolutions! [warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful) Oops, cannot start the server. @6elhl9mca: Database 'default' needs evolution!

Я пробовал все, что я могу думать без толка. Использование Play Run на моей локальной машине отлично работает, никаких проблем. На сервере работает Ubuntu 12.04. Все подходящие драйверы и строки подключения присутствуют и протестированы, база данных запущена, все работает без проблем, кроме Play Framework.

+0

Обновление: я могу «жестко закодировать» applyEvolutions.default = true в application.conf, и это работает, но настройка http.port также не работает таким же образом. Любые советы по настройке HTTP-порта? –

ответ

6

Хорошо, поэтому я действительно не нашел для этого решения, но я нашел обходное решение. Это не где-нибудь в 2.x документации Play Framework (пока), так что я полагаю, что я положу его здесь, в случае, если кто-то застревает:

Ввод applyEvolutions.default=true в application.confДЕЛАЕТ работу, и сделать базу данных эволюции применяются автоматически. Аргумент командной строки -DapplyEvolutions.default=trueНЕ РАБОТАЕТ и игнорируется по неизвестным причинам.

Ввод http.port=80 в application.confНЕ РАБОТАЕТ работа. Аргумент командной строки -Dhttp.port=80 также НЕ РАБОТАЕТ для установки номера порта для запуска.

Таким образом, чтобы установить номер порта использовать эту команду вместо:

play "start 80" или play "run 80" (двойные кавычки точно так, как показано).

По какой-то причине, когда команда порта написана точно так же, как указано выше в двойных кавычках, номер порта для запуска установлен правильно.

Это не содержится в документации по документации в любом месте. Я бы создал еще один запрос на перенос, чтобы добавить его, но последняя проблема, которую я решила для этой структуры (шифрование базы данных), была очерчена как «ограниченный вариант использования в нише», и, таким образом, было отказано в обновлении документации. Я все равно могу попробовать.

Надеюсь, это поможет кому-то.

+0

Эти команды работают, но вы должны поместить их в кавычки.Пример: игра «запустить 8080» проверить ответ Джеймса. – kingdamian42

+0

Да, я вижу это сейчас. Проблема в том, что документация нигде не говорит, и фактически приводит примеры обратного. –

+1

Предполагается, что вы используете консоль воспроизведения, в этом случае кавычки не нужны. Вы всегда могли [сообщить им] (https://github.com/playframework/play20/issues?state=open), если это кажется неправильным;) – kingdamian42

10

Либо

play "start -Dhttp.port=80 -DapplyEvolutions.default=true" 

или

play dist 

затем, распаковкой и запустить сгенерированный сценарий запуска,

./start -Dhttp.port=80 -DapplyEvolutions.default=true 

будет работать.

+2

Это замечательно, спасибо. Моя самая большая проблема заключается в том, что очень мало такого уровня детализации содержится в документации. Однако, спасибо. –

Смежные вопросы