Я использую платформу Slick в своем приложении Scala для подкачки. Для этой структуры требуется наличие ExtendedProfile.simple._ во всех объектах DDL. На данный момент у меня это определяется какОтметить объект как требующий некоторых аннотаций типа «self-type»
trait DatabaseProvider {
val profile : ExtendedProfile
}
trait PersistUser {
this : DatabaseProvider =>
import profile.simple._
object Users extends Table[(String, String, Boolean)]("user") {
// various definitions are here
}
}
, что я хочу, чтобы переместить объект пользователей вне признака, так что я могу использовать его отдельно в различных черт, как, что для таблицы присоединения. Но я не знаю, как я могу заставить объект Users зависеть от наличия DatabaseProvider в области видимости и импортировать все необходимые материалы.
Прошу совета.
Я не 100%, что вы хотели бы сделать. Не могли бы вы привести пример того, что вы хотите сделать, и не работает? Мне кажется, что на данный момент вы можете передать конкретный «DatabaseProvider», который вам нужен для объекта «Пользователи». – gzm0
В основном я хочу отделить объекты DDL, такие как Пользователь, и вывести их из черты, поэтому я могу использовать их в одиночку. – jdevelop
Что мешает вам помещать 'Пользователи' вне черты? – gzm0