来自灵活生成的模式的表列表
List of tables from slick generated schema
我想从 slick 生成的架构中获取 table 的列表。我看到有生成:
lazy val schema: profile.SchemaDescription = Table1.schema ++ Table2.schema ++ ...
但我看不出有什么办法可以从中提取 tables。我可以使用 schema.cereateStatements
并过滤 create table
,以提取 table 名称,但这没有帮助。
您可以使用 MTable
class
阅读表格
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"))
我想从 slick 生成的架构中获取 table 的列表。我看到有生成:
lazy val schema: profile.SchemaDescription = Table1.schema ++ Table2.schema ++ ...
但我看不出有什么办法可以从中提取 tables。我可以使用 schema.cereateStatements
并过滤 create table
,以提取 table 名称,但这没有帮助。
您可以使用 MTable
class
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"))