Почему ограничение внешнего ключа не добавлено groovy / grails

#java #mysql #database #grails #groovy

#java #mysql #База данных #grails #groovy

Вопрос:

Когда я запускаю приложение groovy / grails, поле адреса и visitingAddres правильно создают ограничения внешнего ключа в базе данных. НО я добавил поле court, и приложение автоматически не создает ограничение внешнего ключа для этого поля.

 class Municipality {

static hasMany = [ cases : Case ]
Court court
Address address
Address visitingAddress

    
static constraints = {

    
    address nullable: false
    visitingAddress nullable: false
    cases nullable: true
    court nullable: false 

}

  This is how the table is looking:       

     municipality | CREATE TABLE `municipality` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
   `address_id` bigint(20) NOT NULL,
  `visiting_address_id` bigint(20) NOT NULL,
  `court_id` bigint(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_hdo14fu6i4yo9fma1bfd4jfh7` (`address_id`),
  KEY `FK_esxb2ag360tnvpvcwgntk65ys` (`visiting_address_id`),
  CONSTRAINT `FK_esxb2ag360tnvpvcwgntk65ys` FOREIGN KEY (`visiting_address_id`) REFERENCES `address` (`id`),
  CONSTRAINT `FK_hdo14fu6i4yo9fma1bfd4jfh7` FOREIGN KEY (`address_id`) REFERENCES `address` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1 |
  

Ответ №1:

Требуется значение по умолчанию.

Добавить:

статическое сопоставление = {значение по умолчанию: «1» }