Играть!: DDL от Slick заменяет Evolutions?

Это может быть глупый вопрос, но я новичок в игре! & Слик. При использовании table.ddl.create от Slick я заметил, что он не создает эволюцию, но приложение все еще работает.

Заменяет ли это эволюцию? Могу ли я использовать его в производстве? Нужно ли мне?

Заранее спасибо.


person goo    schedule 28.01.2014    source источник


Ответы (2)


И Slick, и плагин Slick DDL могут генерировать код только для создания или удаления вашей схемы, а не для ее развития. Таким образом, вам все еще нужны эволюции Play или что-то подобное, чтобы изменить существующую схему по пути. В команде Slick мы работаем над решением миграции (с более низким приоритетом). Многие части уже есть, но еще не интегрированы должным образом. Существуют DSL для манипулирования схемой @nafg: https://github.com/nafg/slick-migration-api и мой годовалый прототип инструмента управления версиями базы данных: https://github.com/cvogt/migrations/. Часть генерации кода последнего уже вошла в Slick 2.0. Правильная интеграция всего этого даст нам комплексное решение для типовых сценариев миграции базы данных.

person cvogt    schedule 29.01.2014

Slick может генерировать DDL для определенных вами таблиц, он не содержит логики, которая делает то, что делает эволюция.

Плагин play slick, с другой стороны, содержит SlickDDLPlugin, который будет генерировать и запускать эволюции DDL для вас, когда вы запускаете свое приложение в нерабочем режиме (например, с запуском воспроизведения). Он также выводит эти эволюции в каталог conf/evolutions.

Источники, которые обрабатывают эволюции: https://github.com/freekh/play-slick/blob/master/src/main/scala/play/api/db/slick/plugin/SlickPlugin.scala

person johanandren    schedule 29.01.2014