播放框架演变未运行

Posted

技术标签:

【中文标题】播放框架演变未运行【英文标题】:Play framework evolutions not running 【发布时间】:2017-04-12 14:19:43 【问题描述】:

我正在尝试使用 slick 运行带有 postgresql 数据库的 Play framework 2.5 应用程序。但是在我将 1.sql 添加到 conf/evolutions/default 之后,没有检测到进化。我做错了什么?

Application.conf

play.evolutions 
  db.default.enabled = true

evolutions.autocommit=false
db 
  slick.dbs.default.driver = "org.postgresql.Driver"
  slick.dbs.default.db.driver = "com.postgresql.jdbc.Driver"
  slick.dbs.default.db.url = "jdbc:mysql://localhost/doctor_moda"
  slick.dbs.default.db.user = "doctor_moda"
  slick.dbs.default.db.password = "doctor_moda"

build.sbt

name := """doctor_moda"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  cache,
  evolutions,
  ws,
  "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test,
  "com.typesafe.slick" %% "slick" % "3.1.1",
  "org.slf4j" % "slf4j-nop" % "1.6.4",
  "com.typesafe.slick" %% "slick-hikaricp" % "3.1.0",
  "org.postgresql" % "postgresql" % "9.4-1201-jdbc41",
  "com.typesafe.play" %% "play-slick-evolutions" % "1.1.1"
)

1.sql

# Initial version

# --- !Ups
CREATE SCHEMA role;

CREATE TABLE role.users (
    id PRIMARY KEY DEFAULT nextval('serial'),
    username VARCHAR NOT NULL UNIQUE,
    email VARCHAR NOT NULL UNIQUE
        CHECK (email ~* '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$'),
    password VARCHAR NOT NULL,
    salt VARCHAR NOT NULL,
    created DATE NOT NULL
);

# --- !Downs
DROP SCHEMA role;

-- User schema

【问题讨论】:

您可以尝试将您的slick.dbs.default conf 部分移到您的配置中的db 对象之外吗? 【参考方案1】:

我发现了一个问题。正确的应用程序配置应该包括

slick.dbs.default.driver = "org.postgresql.Driver"
  slick.dbs.default.db.driver = "com.postgresql.jdbc.Driver"
  slick.dbs.default.db.url = "jdbc:postgresql://localhost/doctor_moda"
  slick.dbs.default.db.user = ***
  slick.dbs.default.db.password = ***

【讨论】:

以上是关于播放框架演变未运行的主要内容,如果未能解决你的问题,请参考以下文章

如何播放特定频率和框架的声音未找到音频单元问题

播放框架 2.4.3 进化未触发

播放框架异常和数据库未解决

播放框架中未解决的 postgresql 9.2 jar 依赖关系

android : 使用 SoundPool 播放具有短演变周期的短声音

播放框架:如何将数据库演化应用到伪造的应用程序测试数据库