ограничение внешнего ключа в маппере лифта - PullRequest
3 голосов
/ 21 ноября 2011

Я создал таблицу, используя Mapper в Scala.

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

, но моя таблица не создает ограничения для ключа foreignKey в базе данных.

1 Ответ

7 голосов
/ 21 ноября 2011

Lift, , как и Rails , по умолчанию не создает ограничений внешнего ключа. Если вы хотите включить их, вы можете сделать это через MapperRules. Поместите это в ваш Boot где-нибудь, прежде чем делать другие вещи инициализации базы данных.

MapperRules.createForeignKeys_? = (_) => true

переменная createForeignKeys_? является функцией типа ConnectionIdentifier => Boolean. Я предполагаю, что это позволяет вам контролировать создание внешнего ключа для каждого соединения, но большинство приложений имеют только одно соединение с базой данных.

...