Wie kann die Eindeutigkeit auf DB-Ebene für eine Eins-zu-Viele-Zuordnung festgelegt werden?

Mein Problem ist einfach, aber ich konnte keine GORM-Syntax dafür finden.

Betrachten Sie die folgende Klasse:

class Article {
  String text

  static hasMany = [tags: String]

  static constraints= {
    tags(unique: true) //NOT WORKING
  }

}

Ich möchte haben ein eindeutiger Tag-Name pro Artikel in meinen Einschränkungen definiert, aber ich kann es nicht mit der obigen Syntax machen. Klar brauche ich im DB-Schema so etwas wie:

create table article_tags (article_id bigint, tags_string varchar(255), unique (article_id , tags_string))

Wie kann ich das machen

PS: Ich bin auch festgefahren, um Einschränkungen für die minimale und maximale Größe von Tags festzulegen.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage