Lift的映射器中的外键约束

NAC*_*NAC 3 database scala lift mapper

我在Scala 中使用Mapper创建了一个表.

class Stage extends Mapper[Stage]
{                   
  def getSingleton = Stage             
  object controlId extends MappedLongForeignKey (this,Control) {  
    override def dbNotNull_? = true  
    override def dbColumnName = "control_id"  
  }  
}
Run Code Online (Sandbox Code Playgroud)

但是我的表没有为数据库中的foreignKey键创建约束.

lee*_*777 7

像Rails一样,Lift 在默认情况下不会创建外键约束.如果要启用它们,可以通过以下方式启用它们MapperRules.Boot在进行其他数据库初始化之前,请将它放在您的某个位置.

MapperRules.createForeignKeys_? = (_) => true
Run Code Online (Sandbox Code Playgroud)

var createForeignKeys_?是类型的函数ConnectionIdentifier => Boolean.我想这允许您控制每个连接的外键创建,但大多数应用程序只有一个数据库连接.