| 123456789101112131415161718192021 |
- package com.weEat.migrations
- import com.weEat.models.Collectable
- import org.mongodb.scala.MongoDatabase
- import scala.io.Source
- import scala.concurrent.Future
- import scala.reflect.ClassTag
- import play.api.libs.json.{Reads,Json}
- import scala.jdk.StreamConverters._
- case class RestoreFromFile[T](
- f: Source,
- col: Collectable[T]
- )(implicit
- tag: ClassTag[T],
- reads: Reads[Seq[T]]
- ) extends Migration {
- def execute(db: MongoDatabase) = db.getCollection[T](col.collectionName)
- .insertMany(Json.parse(f.mkString).as[Seq[T]])
- .toFuture()
- }
|