我在终端的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.sql
放在conf/dafault.evolution
而不是conf/dafault/evolution
。
愚蠢的错误,但是。