我是新手,请查看这个简单的代码:
import slick.driver.PostgresDriver.api._
import slick.lifted.{ProvenShape, Tag}
case class Person(id: Int, name: String)
class Persons(tag: Tag) extends Table[Person](tag, "persons") {
val id: Rep[Int] = column[Int]("id", O.PrimaryKey)
val name: Rep[String] = column[String]("name")
override def * : ProvenShape[Person] = (id, name) <> (Person.tupled, Person.unapply)
}
object MainRunner extends App {
val dbUrl = "jdbc:postgresql://172.17.0.2/slick-test";
val dbUsername = "username"
val dbPassword = "password"
val dbDriver = "org.postgresql.Driver"
val db = Database.forURL(url = dbUrl, driver = dbDriver, user = dbUsername, password = dbPassword)
val persons = TableQuery[Persons]
val queries = DBIO.seq(
persons.schema.create
)
val setup = db.run(queries)
println(setup)
}
你觉得这段代码有问题吗?
这段代码编译运行没有任何问题(错误或例外)答案 0 :(得分:1)
我认为这不是关于会议(在Slick 3.x中没有这样的事情)。你遇到的问题是你不要等到操作完成(应用程序在创建模式之前完成;即 - 在ImportError: No module named libpgm
执行之前完成)。
更改这些行:
Future
to(注意新的进口):
val setup = db.run(queries)
println(setup)
答案 1 :(得分:-1)
如果你从play + slick开始,这个项目可以帮助你: