首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >play-slick :找不到表

play-slick :找不到表
EN

Stack Overflow用户
提问于 2015-06-16 22:11:50
回答 1查看 1.2K关注 0票数 1

我想使用play-slick 1.0.0和play 2.4.0。根据示例(https://github.com/playframework/play-slick/tree/master/samples/basic),我这样定义UserTable:

包表

代码语言:javascript
复制
import models.User
import scala.slick.driver.JdbcProfile

trait UserTable {
  protected val driver: JdbcProfile
  import driver.api._
  class Users(tag: Tag) extends Table[User](tag, "users"){
    def ID = column[Long]("id", O.PrimaryKey, O.AutoInc)
    def email = column[String]("email", O.NotNull)
    def password = column[String]("password", O.NotNull)
    def * = (ID, email, password) <> (User.tupled, User.unapply)
  }
}

我按如下方式实现了控制器:

代码语言:javascript
复制
package controllers

import play.api._
import play.api.mvc._
import play.api.db.slick.DatabaseConfigProvider
import play.api.db.slick.HasDatabaseConfig
import tables.UserTable
import scala.slick.driver.JdbcProfile
import play.api.libs.concurrent.Execution.Implicits.defaultContext

import models.User
import tables.UserTable

class UserController extends Controller with UserTable with HasDatabaseConfig[JdbcProfile]{
  val dbConfig = DatabaseConfigProvider.get[JdbcProfile](Play.current)
  import driver.api._

  val Users = TableQuery[Users]

  def index = Action.async {
    db.run(Users.result).map(res => Ok(views.html.User.index(res.toList)))
  }
}

但是,我运行应用程序并调用这个控制器,我得到了错误

代码语言:javascript
复制
[SQLException: [SQLITE_ERROR] SQL error or missing database (no such table: users)]

如何创建"users“表?

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 23:24:44

您需要使用现有的users表,或者通过slick创建一个表。

请参阅http://slick.typesafe.com/doc/3.0.0/gettingstarted.html#populating-the-database

您需要在应用程序中运行db.run(Users.schema.create)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30870148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档