我正在尝试移植scala/angular教程(https://github.com/pcleary00/play-angularjs)转移到oracle,使用类型安全扩展进行slick。非常感谢任何帮助/指导/x我做了以下更改:1.在build.scala 中添加了库依赖项
resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/maven-releases/"
val appDependencies = Seq(
jdbc,
"com.typesafe.slick" %% "slick" % "2.0.0-M3",
"com.typesafe.play" %% "play-slick" % "0.5.0.8",
"com.typesafe.slick" %% "slick-extensions" % "2.0.0-M3",
"org.joda" % "joda-money" % "0.9"
)
然后应用程序.conf
db.default.driver=oracle.jdbc.driver.OracleDriver
db.default.url="jdbc:oracle:thin:host-name:port/sid"
db.default.user=scott
db.default.password="tiger"
然后进口:
import com.typesafe.slick.driver.oracle.OracleDriver.simple._
import scala.slick.driver.ExtendedDriver
import scala.slick.lifted.ColumnOption.PrimaryKey
import Database.threadLocalSession
import scala.slick.session.Database
import play.api.db.DB
import play.api.Play.current
看起来它能够找到扩展,但我得到了以下错误:
[info] Compiling 8 Scala sources and 1 Java source to C:tmpplay-angularjs-mastertargetscala-2.10classes...
[error] C:tmpplay-angularjs-masterappGlobal.scala:4: object Database is not a member of package scala.slick.session
[error] import scala.slick.session.Database
[error] ^
[error] C:tmpplay-angularjs-masterappGlobal.scala:7: object Database is not a member of package scala.slick.session
[error] import scala.slick.session.Database.threadLocalSession
有人能帮忙指一下资源吗?
play slick仍然是针对slick的1.0.1版本构建的,所以如果你想在play中使用slick,你可能需要使用该版本的slick,而不是2.0.0-M3。看起来他们有一个悬而未决的问题需要升级。
正如孔所指出的,现在使用1.0.1和play slick。IIRC玩滑头应该自动带有这种依赖性。也不要使用threadlocalSession。使用db.withSession{ implicit session => ... /* your queries here */ }
更安全。此外,您不需要导入数据库对象。它应该与.simple._
导入一起提供。以下是您开始使用所需的信息:http://slick.typesafe.com/doc/1.0.1/gettingstarted.html#dependencies