Создание таблицы развития игр на IBM i (AS/400, iSeries)
Я пытаюсь использовать Play 2 Framework и подключиться к моей базе данных IBM iSeries DB2. Кажется, я могу установить соединение. Но когда я загружаю приложение и оно пытается запустить эволюцию, оно завершается с ошибкой: SQLException: [SQL0204] PLAY_EVOLUTIONS в (имя базы данных) типа *FILE не найден.
Я посмотрел на несколько вопросов, но не могу найти ответ:
- Использование Play Framework 2 с DB2 (AS400 или LUW)
- Play Framework и DB2
- Как правильно создать таблицу эволюции в БД на Play?
Framework 2.0.3?
Последний вопрос был опубликован t0mppa в октябре 2012 года. Он говорит, что нашел способ сделать это, но не поделился своим методом, кроме как сказать, что он работал с источником evolutions и создал решение. Я не так хорош.
Я чувствую, что если бы я мог просто определить таблицу, то, возможно, я мог бы построить таблицу вручную и заставить ее работать.
Спасибо
боб
2 ответа
Вы могли бы также просто отключить эволюции и создать базу данных напрямую.
Переопределив свойства, вы можете получить не только конфигурацию разработки и производства, но и несколько конфигураций разработки - все, что вам нужно.
пример: ~run -Dconfig.resource=development-local-db2.conf
Смотрите больше здесь
http://www.playframework.com/documentation/2.2.x/ProductionConfiguration
Мне удалось создать таблицу, которая, кажется, позволяет Evolution преодолеть эту проблему. Я отправил следующий SQL-оператор с использованием STRSQL из командной строки iSeries:
Библиотека CREATE TABLE / PLAY_EVOLUTIONS (APPLY_SCRIPT CHAR (5000)
NOT NULL WITH DEFAULT, REVERT_SCRIPT CHAR (5000) NOT NULL WITH
ПО УМОЛЧАНИЮ, "ХАШ" CHAR ( 5000) НЕ НУЖНО С ПО УМОЛЧАНИЮ, "ID" BIGINT NOT
НУЛЯЕТСЯ ПО УМОЛЧАНИЮ)
Я не уверен, что размеры полей правильные (вероятно, нет) или достаточно большие.
Теперь перейдем к следующей проблеме...