Список таблиц из скользкой сгенерированной схемы - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу получить список таблиц из гладкой сгенерированной схемы. Я увидел, что там генерируется: lazy val schema: profile.SchemaDescription = Table1.schema ++ Table2.schema ++ ...

Но я не вижу способа извлечь из него таблицы. Я мог бы пойти с schema.cereateStatements и фильтровать на create table, чтобы извлечь имена таблиц, но это бесполезно.

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете читать таблицы с MTable классом

import scala.concurrent.ExecutionContext.Implicits.global
import slick.jdbc.meta.MTable 

//Tables from public schema

    db.run(MTable.getTables(Some(""),Some("public"),Some(""),Some(Seq("TABLE")))).
       onComplete {
           case Success(tables) => println(tables.map(_.name).mkString(" - "))
           case Failure(f) => println(f)
       }

Результат:

MQName(public.table1) - MQName(public.table2) 

Если вы тоже хотите индексы, добавьте "INDEX" к Seq

Some(Seq("TABLE","INDEX"))
...