2016-08-26 5 views
0

Я проходил примеры Slick и пытался использовать их для подключения к базе данных MySQL. Однако консоль SBT жалуется, что не может найти столбец значений:MySQL в Slick 3.1

class MySQLCatalogue(tag: Tag) extends Table[(Long, String, String)](tag, "COLUMNS") { 
    def pos: Column[Long] = column[Long]("ORDINAL_POSITION") 
    def id: Column[String] = column[String]("COLUMN_NAME") 
    def dtype: Column[String] = column[String]("DATA_TYPE") 

    def * = (pos, id, dtype) 
} 

Примеры, которые я нашел в Интернете импорт scala.slick.driver.MySQLDriver.simple._ но импорт не делает. Кто-нибудь знает, что мне здесь не хватает?

+0

вы можете обеспечить вывод компилятора? – pedrorijo91

+0

и импорт, который вы используете – pedrorijo91

ответ

2

Попробуйте этот импорт:

import slick.driver.JdbcProfile 
import slick.driver.MySQLDriver.api._ 

import play.api.db.slick.DatabaseConfigProvider // if you are using play-slick 
1

Если вы используете играть 2.5.x с Инъекцией зависимостей Guice.

Вы должны импортировать dbConfig.driver.api._

@Singleton 
class UsersRepo @Inject()(protected val dbConfigProvider:DatabaseConfigProvider) { 
val dbConfig = dbConfigProvider.get[JdbcProfile] 
import dbConfig.driver.api._ 
val users = TableQuery[Users] 

class Users(tag: Tag) extends Table[User](tag, UsersTable.name) { 
    def id = column[UserId]("user_id", O.PrimaryKey) 
    def email = column[Email]("email") 
    def * = (email, id) <> (User.tupled, User.unapply) 
    def emailIndex = index("users_email_index", email, true) 
} 
} 
1
import slick.driver.MySQLDriver.api._ 
case class Keyword(keyword: String, active: Int, id: Long = 0L) 
class KeywordTable(tag : Tag) extends Table[Keyword](tag, "COLUMNS") { 
    def id = column[Long]("id", O.PrimaryKey, O.AutoInc) 
    def keyword = column[String]("keyword") 
    def active = column[Int]("active") 
    def * = (keyword,active,id) <> (Keyword.tupled, Keyword.unapply) 
} 

Этот пример работает (Playframework 2.5.4 и Slick 3.1)

Смежные вопросы