RestoreFromFile.scala 484 B

12345678910111213141516171819
  1. package com.weEat.migrations
  2. import com.weEat.models.Collectable
  3. import org.mongodb.scala.MongoDatabase
  4. import scala.io.Source
  5. import scala.reflect.ClassTag
  6. import play.api.libs.json.{Reads,Json}
  7. case class RestoreFromFile[T](
  8. f: Source,
  9. col: Collectable[T]
  10. )(implicit
  11. tag: ClassTag[T],
  12. reads: Reads[Seq[T]]
  13. ) extends Migration {
  14. def execute(db: MongoDatabase) = db.getCollection[T](col.collectionName)
  15. .insertMany(Json.parse(f.mkString).as[Seq[T]])
  16. .toFuture()
  17. }