我在我的 app/scripts
文件夹中有这个(我在 app/
中创建了这个文件夹)。我不确定如何在这里正确设置类路径,因此我什至没有运行它来知道它是否真的会连接到数据库。如何从命令行以干净的方式运行它?
package scripts
import scala.collection.TraversableOnce
import scala.collection.generic.SeqForwarder
import scala.io.Source
import scala.slick.jdbc.{StaticQuery => Q}
import scala.slick.session.Session
import scala.slick.session.Database
import play.api.db.DB
import tables.Campeonatos
import tables.Jogos
import org.postgresql.Driver
import play.api.test._
import play.api.test.Helpers._
// ...
class InsertJogosCSV extends App {
val dao = new DAO()
val application = FakeApplication()
def insertJogos(csv: CSV)(implicit s: Session) = {
val times = dao.getTimeIdByNameMap
var count = 0
csv foreach { case cols =>
count += 1
dao.insertJogo(cols, times)
}
count
}
val csvFilePath: String = args(0)
val csv = new CSV(csvFilePath)
csv.printLines
running(application) {
val realDatabase = Database.forDataSource(DB.getDataSource()(application))
implicit val s = realDatabase.createSession
insertJogos(csv)
}
}
最佳答案
我写了一篇博文来解释我的最终解决方案。应该作为问题的答案。
关于java - 如何运行使用 Play Framework 应用程序数据库的命令行 scala 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583244/