我想使用浮油来编写数据库架构。我有超过100列的巨大表格。所以我对于超过22列的所有表都有此错误:
Tuple45类型不是scala软件包的成员
这是其中一张表的代码:
object adrepost extends Table[(String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, String, Date, Boolean, Date, Int, Boolean, String, String, String, String, String, Boolean, Boolean, String, String, Boolean)]("ADREPOST") {
def codeadrp = column[String]("CODEADRP", O.PrimaryKey, O.NotNull,O.DBType("VARCHAR(7)"))
def codecivi = column[String]("CODECIVI", O.NotNull, O.DBType("VARCHAR(3)"))
def nom1 = column[String]("NOM1", O.NotNull, O.DBType("VARCHAR(32)"))
def nom2 = column[String]("NOM2", O.NotNull, O.DBType("VARCHAR(32)"))
def complt1 = column[String]("COMPLT1", O.NotNull, O.DBType("VARCHAR(32)"))
def complt2 = column[String]("COMPLT2", O.NotNull, O.DBType("VARCHAR(32)"))
def voienum = column[String]("VOIENUM", O.NotNull, O.DBType("VARCHAR(10)"))
def voienom = column[String]("VOIENOM", O.NotNull, O.DBType("VARCHAR(32)"))
def codepays = column[String]("CODEPAYS", O.NotNull, O.DBType("VARCHAR(3)"))
def codecpced = column[String]("CODECPCED", O.NotNull, O.DBType("VARCHAR(10)"))
def codeinsee = column[String]("CODEINSEE", O.NotNull, O.DBType("VARCHAR(10)"))
def codeetat = column[String]("CODEETAT", O.NotNull, O.DBType("VARCHAR(8)"))
def telephone = column[String]("TELEPHONE", O.NotNull, O.DBType("VARCHAR(18)"))
def telephone2 = column[String]("TELEPHONE2", O.NotNull, O.DBType("VARCHAR(18)"))
def telecopie = column[String]("TELECOPIE", O.NotNull, O.DBType("VARCHAR(18)"))
def email = column[String]("EMAIL", O.NotNull, O.DBType("VARCHAR(64)"))
def argument = column[String]("ARGUMENT", O.NotNull, O.DBType("VARCHAR(16)"))
def ddn_crea = column[Date]("DDN_CREA")
def top_robins = column[Boolean]("TOP_ROBINS", O.NotNull)
def dat_maj = column[Date]("DAT_MAJ", O.NotNull)
def nb_npai = column[Int]("NB_NPAI", O.NotNull)
def top_noloca = column[Boolean]("TOP_NOLOCA", O.NotNull)
def siren = column[String]("SIREN", O.NotNull, O.DBType("VARCHAR(9)"))
def nic = column[String]("NIC", O.NotNull, O.DBType("VARCHAR(5)"))
def codenaf = column[String]("CODENAF", O.NotNull, O.DBType("VARCHAR(5)"))
def id_fiscale = column[String]("ID_FISCALE", O.NotNull, O.DBType("VARCHAR(15)"))
def matchcode = column[String]("MATCHCODE", O.NotNull, O.DBType("VARCHAR(18)"))
def top_erobin = column[Boolean]("TOP_EROBIN", O.NotNull)
def top_seg = column[Boolean]("TOP_SEG", O.NotNull)
def codelang = column[String]("CODELANG", O.NotNull, O.DBType("VARCHAR(3)"))
def codeutil = column[String]("CODEUTIL", O.NotNull, O.DBType("VARCHAR(3)"))
def inactivee = column[Boolean]("INACTIVEE", O.NotNull)
def * = codeadrp ~ codecivi ~ nom1 ~ nom2 ~ complt1 ~ complt2 ~ voienum ~ voienom ~ codepays ~ codecpced ~ codeinsee ~ codeetat ~ telephone ~ telephone2 ~ telecopie ~ email ~ argument ~ ddn_crea ~ top_robins ~ dat_maj ~ nb_npai ~ top_noloca ~ siren ~ nic ~ codenaf ~ id_fiscale ~ matchcode ~ top_erobin ~ top_seg ~ codelang ~ codeutil ~ inactivee
def idx1 = index("adrepost_argument", (argument), unique = true)
def idx2 = index("adrepost_codecpced", (codecpced), unique = true)
def idx3 = index("adrepost_commune", (codepays, codecpced, codeinsee), unique = true)
def idx4 = index("adrepost_matchcode", (matchcode), unique = true)
def idx5 = index("adrepost_nom1", (nom1), unique = true)
}
关于如何解决这个问题的任何想法?
最佳答案
您应该看看使用嵌套元组来解决此问题。以下帖子对我有帮助:
https://groups.google.com/forum/#!msg/scalaquery/qjNW8P7VQJ8/ntqCkz0S4WIJ
Stefan在代码中使用注释来帮助您逐步了解正在做的事情。
旁注:在几周前的一次Slick演讲中,我获悉此限制将在下一版本中解决,该版本将很快发布。