Advertisement
Guest User

Untitled

a guest
Apr 4th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. def custom = {
  2. val slickDriver = "slick.driver.MySQLDriver"
  3. val jdbcDriver = "org.gjt.mm.mysql.Driver"
  4. val url = "jdbc:mysql://localhost/test?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull"
  5. val outputFolder = "src/main/scala"
  6. val pkg = "gen"
  7. val user = "userName"
  8. val pass = "password"
  9.  
  10. val driver: JdbcProfile =
  11. Class.forName(slickDriver + "$").getField("MODULE$").get(null).asInstanceOf[JdbcProfile]
  12. val dbFactory = driver.api.Database
  13. val db = dbFactory.forURL(url, driver = jdbcDriver,
  14. user = Some(user).getOrElse(null), password = Some(pass).getOrElse(null), keepAliveConnection = true)
  15.  
  16. try {
  17. val m = Await.result(db.run(driver.createModel(None, false)(ExecutionContext.global).withPinnedSession), Duration.Inf)
  18. new SourceCodeGenerator(m).writeToFile(slickDriver, outputFolder, pkg)
  19. } finally db.close
  20. }
  21.  
  22. def custom = {
  23. val slickDriver = "slick.driver.MySQLDriver"
  24. val jdbcDriver = "org.gjt.mm.mysql.Driver"
  25. val url = "jdbc:mysql://localhost/test?characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull"
  26. val outputFolder = "src/main/scala"
  27. val pkg = "gen"
  28. val user = "userName"
  29. val pass = "password"
  30.  
  31. val driver: JdbcProfile =
  32. Class.forName(slickDriver + "$").getField("MODULE$").get(null).asInstanceOf[JdbcProfile]
  33. val dbFactory = driver.api.Database
  34. val db = dbFactory.forURL(url, driver = jdbcDriver,
  35. user = Some(user).getOrElse(null), password = Some(pass).getOrElse(null), keepAliveConnection = true)
  36.  
  37. val tables = Some(MTable.getTables(Some(""), Some(""), None, Some(Seq("TABLE")))) //ここでフィルターできるようです。
  38. val modelAction = driver.createModel(tables, false)(ExecutionContext.global).withPinnedSession
  39. val modelFuture = db.run(modelAction)
  40. try {
  41. val m = Await.result(modelFuture, Duration.Inf)
  42. new SourceCodeGenerator(m).writeToFile(slickDriver, outputFolder, pkg)
  43. } finally db.close
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement