我已经关注
val s1 = autoIncremented("advert_id_seq")
on(car)(attributes => declare(attributes.id is (s1)))
on(danceInstructor)(attributes => declare(attributes.id is (s1)))
当我运行我的应用程序时,捕获异常
org.postgresql.util.PSQLException: ERROR: relation "advert_id_seq" already exists
正如我意识到的那样,squeryl尝试两次创建序列并获得错误
答案 0 :(得分:1)
我猜测你的问题是关于Schema的生成,而不是查询数据库。如果是这种情况,那么您可能只是想避免让Squeryl直接创建表格。 Squeryl的模式生成是有目的的基础。如果你能够做到这一点,我认为你最好采用一些方法来提供更好的控制,而不是“阅读你的模型并生成东西”。工具可以提供。像Flyway或Liquibase这样的工具对此很有用。
如果您不想采用新库,您也可以使用Squeryl通过其中一个Schema.printDdl方法将模式输出到文件,然后在执行之前删除无关的序列。
答案 1 :(得分:0)
Ruby on Rails具有多态关联,但scala活动记录没有。我做了类似的东西,然后将它推送到github repo。