【问题标题】:Slick (postgresql) evolutions are not being triggered in Play Framework 2.6Play Framework 2.6 中未触发 Slick (postgresql) 演变
【发布时间】:2017-11-24 06:23:37
【问题描述】:

这里是数据库配置

application.conf:

slick.dbs.default.profile="slick.jdbc.PostgresProfile$"
slick.dbs.default.db.driver="org.postgresql.Driver"
slick.dbs.default.db.url="jdbc:postgresql://localhost:5432/postgres"
slick.dbs.default.db.user=postgres
slick.dbs.default.db.password=postgres

build.sbt

name := """myproject"""
version := "1.0-SNAPSHOT"

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

resolvers += Resolver.sonatypeRepo("snapshots")

scalaVersion := "2.12.4"

libraryDependencies += guice
libraryDependencies += evolutions

libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.0.0" % Test


libraryDependencies += "org.postgresql" % "postgresql" % "42.1.4"
libraryDependencies += "com.typesafe.play" %% "play-slick" % "3.0.1"
libraryDependencies += "com.typesafe.play" %% "play-slick-evolutions" % "3.0.1"

我在 conf/evolutions/default 文件夹中有 sql 脚本

1.sql

# Users schema

# --- !Ups

CREATE TABLE users
(
    id bigint NOT NULL,
    email character varying(255) NOT NULL,
    username character varying(100) NOT NULL,
    password character varying(100) NOT NULL,       
    PRIMARY KEY (id)
)
WITH (
    OIDS = FALSE
);

# --- !Downs

DROP TABLE IF EXISTS users CASCADE;

但在应用程序启动时,不会触发进化。 db 连接工作正常(我已经通过从这个应用程序对 db 实施一些巧妙的查询来检查)。

我在这里做错了什么?

【问题讨论】:

    标签: postgresql playframework slick


    【解决方案1】:

    尝试将此行添加到您的 application.conf :

    play.evolutions.db.default.enabled = true
    

    【讨论】:

      【解决方案2】:

      我发现了问题。

      进化脚本位于

      conf/evolutions.default

      但它们应该位于

      conf/evolutions/default

      所以我不小心在conf 文件夹下创建了一个以点分隔的文件夹,而不是两个。

      【讨论】:

        猜你喜欢
        • 2018-02-23
        • 2018-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-06
        • 2013-10-29
        相关资源
        最近更新 更多