import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
import slick.jdbc.OracleProfile.api._
import scala.slick.ast.ColumnOption.Nullable;
object Test2 extends App{
case class D_COMPANY( D_COMP_ID:Int,
D_CLIENT_ID: Option[Int]=None,
COMP_NM : Option[String]=None,
STR_ADDRESS: Option[String]=None,
CITY:Option[String]=None,
STATE:Option[String]=None,
ZIP: Option[String]=None,
PHONE : Option[String]=None,
FAX : Option[String]=None,
SRC_LST_UPDT_DT : Option[String]=None,
D_COMPANY_SID : Option[Int]=None,
BUSNS_TYP_CD : Option[String]=None,
EFFECTIVE_DT : Option[String]=None
)
class DCompanyTable(tag: Tag) extends Table[D_COMPANY](tag, "D_COMPANY") {
def D_COMP_ID = column[Int]("D_COMP_ID")
def D_CLIENT_ID = column[Int]("D_CLIENT_ID")
def COMP_NM = column[String]("COMP_NM")
def STR_ADDRESS = column[String]("STR_ADDRESS")
def CITY = column[String]("CITY")
def STATE = column[String]("STATE")
def ZIP = column[String]("ZIP")
def PHONE = column[String]("PHONE")
def FAX = column[String]("FAX")
def SRC_LST_UPDT_DT = column[String]("SRC_LST_UPDT_DT")
def D_COMPANY_SID = column[Int]("D_COMPANY_SID")
def BUSNS_TYP_CD = column[String]("BUSNS_TYP_CD")
def EFFECTIVE_DT = column[String]("EFFECTIVE_DT")
def * = (D_COMP_ID,D_CLIENT_ID.?,COMP_NM.?,STR_ADDRESS.?,CITY.?,STATE.?,ZIP.?,PHONE.?,FAX.?,
SRC_LST_UPDT_DT.?,D_COMPANY_SID.?,BUSNS_TYP_CD.?,EFFECTIVE_DT.?) <> (D_COMPANY.tupled, D_COMPANY.unapply)
}
lazy val resultSet = TableQuery[DCompanyTable]
val selectAction = resultSet.result
implicit val db = Database.forURL("jdbc:oracle:thin:username/password@hostname:1521/service_name",
driver = "oracle.jdbc.driver.OracleDriver")
def exec[T](action: DBIO[T]): T =
Await.result(db.run(action), 10 seconds)
exec(selectAction).foreach(println)
}