質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Play Framework 2

Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

Q&A

解決済

1回答

887閲覧

Playframework スクリプトを実行しても更新・反映されない

staphan

総合スコア15

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Play Framework 2

Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

0グッド

0クリップ

投稿2019/02/25 06:03

エラー状況

slickを利用してデータを反映させたいのですが、evolutionが成功せず、同じ画面をぐるぐる回ってしまっています。

発生している問題・エラーメッセージ

イメージ説明
イメージ説明

該当のソースコード

build.sbt

Scala

1name := """play-scala-myapp2""" 2organization := "com.play" 3 4version := "1.0-SNAPSHOT" 5 6lazy val root = (project in file(".")).enablePlugins(PlayScala) 7 8scalaVersion := "2.12.8" 9 10libraryDependencies += guice 11libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "3.1.2" % Test 12libraryDependencies += "com.h2database" % "h2" % "1.4.197" 13libraryDependencies += "com.typesafe.play" %% "play-slick" % "3.0.3" 14libraryDependencies += "com.typesafe.play" %% "play-slick-evolutions" % "3.0.3" 15

application.conf

Scala

1# https://www.playframework.com/documentation/latest/Configuration 2slick.dbs.default.driver="slick.driver.H2Driver$" 3slick.dbs.default.db.profile="org.h2.Driver" 4slick.dbs.default.db.url="jdbc:h2:mem:mydatabase;DB_CLOSE_DELAY=-1"

リポジトリ

Scala

1package models 2 3 4import javax.inject.{ Inject, Singleton } 5import play.api.db.slick.DatabaseConfigProvider 6import slick.jdbc.JdbcProfile 7 8 9import scala.concurrent.{ Future, ExecutionContext } 10 11 12@Singleton 13class PersonRepository @Inject() 14(dbConfigProvider: DatabaseConfigProvider) 15 (implicit ec: ExecutionContext) { 16 17 18 private val dbConfig = dbConfigProvider.get[JdbcProfile] 19 20 21 import dbConfig._ 22 import profile.api._ 23 24 25 private class PeopleTable(tag: Tag) 26 extends Table[Person](tag, "people") { 27 def id = column[Int]("id", O.PrimaryKey, O.AutoInc) 28 def name = column[String]("name") 29 def mail = column[String]("mail") 30 def tel = column[String]("tel") 31 32 33 def * = (id, name, mail, tel) <> 34 ((Person.apply _).tupled, Person.unapply) 35 } 36 37 38 private val people = TableQuery[PeopleTable] 39 40 def list(): Future[Seq[Person]] = db.run { 41 people.result 42 } 43}

初めての分野なのでこのエラーの原因が予想できませんでした。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

application.confに以下を足しても同じでしょうか

play.evolutions.enabled=true

投稿2019/02/26 03:35

taketoma

総合スコア374

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

staphan

2019/02/27 04:40

回答いただきありがとうございます。 該当ファイルに追加しましたが変わりませんでした。
taketoma

2019/02/27 10:10

私の認識が違っているのかもしれません。 evolutionが成功せずというのは「Apply this script now!」ボタンを押しても 実行されないということですか?
staphan

2019/02/28 02:40 編集

おっしゃる通りです。 1枚目のスクリーンショットでボタンを押すと2枚目のスクリーンショットになり、それ以降もボタンを押しても同じ画面が繰り返し表示されます。
staphan

2019/02/28 07:57

play.evolutions.enabled=trueをfalseに変更すると成功しました! 調べたところ、「テストが独自のデータベースをセットアップするときには、テスト環境の展開を無効にすることができます。」とありますがいまの知識では理解できませんでした。 よろしければ、play.evolutions.enabledについて説明いただけないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問