Я начал использовать Slick 3.0.0, и мне нравится сжатый синтаксис. Тем не менее, я не смог найти способ использовать его в агностической базе данных.Активация базы данных Slick 3.0.0
В следующем примере, указанном в документации: http://slick.typesafe.com/doc/3.0.0/gettingstarted.html
Я хотел бы быть в состоянии разъединить как-то этот код используемой базы данных и избежать импорта базы данных конкретных в моем коде (т.е. slick.driver.H2Driver.api._
).
Я попытался избавиться от него, предоставив соединение, используя шаблон торта, но тогда член «.result» недоступен.
Обходным решением будет импорт slick.driver.JdbcDriver.api._
, но он устарел и, следовательно, не должен быть хорошей отправной точкой.
Кто-нибудь нашел способ использовать Slick 3.0.0 в базе данных агностиком и элегантным способом?
Этот вопрос находится недалеко от «How to write database-agnostic Play application and perform first-time database initialization?», но этот объект фокусируется на Slick 3.0.0. К сожалению, ответы, предоставленные с этим прежним вопросом, не нацелены на Slick 3.0.0, кроме тех, которые используют устаревший код.
Если вы используете базовый/стандартный SQL, я думаю, вы можете использовать собственные запросы, таким образом, было бы легко перейти на другую СУБД (сделать вам действительно нужно?). – cchantep
Спасибо @cchantep, вы имеете в виду использование простых SQL-запросов Slick (http://slick.typesafe.com/doc/3.0.0/sql.html)? О вашем вопросе, да, мне нравится переключать RDBMS для некоторых модульных тестов (где используется h2), а также я хотел бы любить меняться, не перестраивая свое приложение. – raphael
Если это просто для модульного тестирования, вам действительно не нужны агностические вызовы, но для имитации одного и того же поведения БД, либо с БД в памяти, либо с использованием инфраструктуры тестирования JDBC (например, http://acolyte.eu.org) , – cchantep