Правильный способ эволюции в игре
В настоящее время я работаю над игровым приложением, которое станет бэкэнд-API для мобильного приложения, которое я разрабатываю.
До сих пор я устанавливал jpa.ddl для обновления, и все работало нормально. Когда я добавил новое поле в одну из моих моделей, это изменило бы базу данных для меня.
Тем не менее, я готовлюсь к работе, и все, что я прочитал, включая документацию по игре, говорит о том, чтобы отключить эту функцию и вместо этого использовать эволюции. Однако, когда я пишу свой файл 1.sql, я сталкиваюсь с несколькими проблемами:
- У меня есть массивы как часть моей модели, и я не уверен, как они представлены в базе данных
- Части модели являются экземплярами других моделей, и я не уверен, как объекты представлены в базе данных.
До сих пор мне не приходилось беспокоиться о том, как на самом деле создавалась база данных, потому что Play/JPA/Hibernate предоставлял уровень абстракции. Но теперь, когда мне кажется, что мне нужно вручную создавать таблицы, я не могу найти никакой документации для правильного способа сделать это.
Нужно ли мне вручную писать SQL для создания таблиц для моих моделей, и если да, то как мне представить их в базе данных?
РЕДАКТИРОВАТЬ: я использую игру 1.2.4
1 ответ
Да, чтобы сделать эволюцию, вы должны знать, как преобразовывать объекты в таблицы. Это также поможет вам понять, как работает JPA.
Для этого вы можете заглянуть в свою базу данных, чтобы увидеть, как автоматическое обновление ddl создает вашу базу данных. В сети также есть документация. Например, здесь: http://en.wikibooks.org/wiki/Java_Persistence. Глава 4 содержит схемы, чтобы объяснить это.