Play / Slick / SQLite Evolution не работает - PullRequest
0 голосов
/ 14 ноября 2018

Я создал SQLite базу данных, подобную этой, в моем Ubuntu из терминала:

$ sqlite users.db

Затем я переместил файл users.db в projectDir/conf/application.conf.

Позже я написал эволюцию, но она не была применена к моей базе данных users.db, когда я просматривал свою базу данных через DBeaver.

Вот мой application.conf файл

play.http.secret.key = "changeme"

play.i18n {
  langs = [ "en" ]

}
play.filters {
  enabled += filters.ExampleFilter

}

play.evolutions.db.default {
  enabled = true
  autoApply = true
  autoApplyDowns = true
}

slick.dbs.default {
  profile = "slick.jdbc.SQLiteProfile$"
  driver = "slick.driver.SQLiteDriver$"
  db.driver = "org.sqlite.JDBC"
  db.url = "jdbc:sqlite:/home/saad/play-scala-starter-example/conf/users.db"
}

play.assets {
  path = "/public"
  urlPrefix = "/assets"
}

А вот и мой build.sbt

name := """play-scala-starter-example"""

version := "1.0-SNAPSHOT"

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

resolvers += Resolver.sonatypeRepo("snapshots")

scalaVersion := "2.12.7"

crossScalaVersions := Seq("2.11.12", "2.12.7")

libraryDependencies += guice
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test
libraryDependencies += "com.typesafe.slick" %% "slick" % "3.2.0"
libraryDependencies += "com.typesafe.slick" %% "slick-codegen" % "3.2.3"

libraryDependencies += evolutions
libraryDependencies ++= Seq(
  "com.typesafe.play" %% "play-slick" % "3.0.0",
  "com.typesafe.play" %% "play-slick-evolutions" % "3.0.0"
)
libraryDependencies ++= Seq(
  cache,
  javaWs,
  "org.xerial" % "sqlite-jdbc" % "3.23.1"
)

Вот мой 1.sql файл, я проверил код, ошибок нет.

# --- !Ups

CREATE TABLE IF NOT EXISTS Users(
ID INTEGER PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Password varchar(255) NOT NULL,
Email varchar(255) NOT NULL UNIQUE,
Authenticated boolean
);

INSERT INTO Users(LastName, FirstName, Password, Email, Authenticated) VALUES ('Saad', 'Ali', 'spadsdditcom', 'asdasdasd', 1);

# --- !Downs

DROP TABLE IF EXISTS Users

После того, как я sbt run, открывается страница index и ошибок нет, но эволюция также не применяется, как видно из DBeaver.

Мой вопрос: что я делаю не так?

1 Ответ

0 голосов
/ 30 апреля 2019

Я понял, я поместил 1.sql в conf/dafault.evolution вместо conf/dafault/evolution.
Тупая ошибка, но да.

...