2016-04-25 7 views
0

私はscalikejdbc(Slickから移動しようとしています)を試しています。エンティティからスキーマを作成しようとしています(ケースクラスを読んでください)。ケースクラスからDDLを抽出する

// example Slick equivalent 

case class X(id: Int, ...) 

class XTable(tag: Tag) extends Table[X] (tag, "x") { 
    def id = column[Int]("id") 
    ... //more columns 

    def * = (id, ...) <> (X.tupled, X.unapply) 
} 

val xTable = TableQuery[XTable] 

db.run(xtable.schema.create) //creates in the DB a table named "x", with "id" and all other columns 

それはSQLSyntaxSupportが

// scalikejdbc 

case class X (id: Int, ...) 

object X extends SQLSyntaxSupport[X] { 
    def apply (x: ResultName[X])(rs: WrappedResultSet): X = new X(id = rs.get(x.id, ...)) 
} 

X.table.??? // what to do now? 

ようなもので、正しい方向への一歩かもしれないが、次のステップを把握することができませんでし使っように思えました。 http://scalikejdbc.org/documentation/reverse-engineering.html

すべてのヘルプ/アイデアは、ドキュメントの関連部分に特定の方向に、

を理解されるであろう。

は私が探している[リバースエンジニアリング]で説明ツールの反対であります

答えて

0

statementメソッドを使用して、 のような他のSQLベースのアクションのようなSQLコードを取得できます。現在のところ、スキーマアクションは アクションで、複数のステートメントを生成できます。

schema.create.statements.foreach(println) 
schema.drop.statements.foreach(println) 

http://slick.typesafe.com/doc/3.0.0/schemas.html

関連する問題