Я попробовал после этой ссылки, и это - теперь код моего домена:
class SnbrActVector {
long nid
String term
double weight
static mapping = {
version false
nid index:'Nid_Idx'
}
static constraints = {
term(blank:false)
}
}
То, что я хочу, должно сделать, должен добавить индексный ключ для nid
столбец. Я отбросил существующую таблицу и запустил приложение снова, таким образом, таблица затем воссоздается. Однако, когда я проверяю на список индексов, я не вижу Nid_Idx
, только PRIMARY
. Сделайте я должен вручную создать индекс и назвать его Nid_idx
в моей mysql базе данных?
Ваш синтаксис правильный, поэтому это может быть другая проблема или ошибка Grails. Мой совет:
grails create-app
) с помощью SnbrActVector
как единственный домен ( grails create-domain ...
). Скопируйте свой код внутрь. dbCreate = "create-drop"
Если вы видите индекс, созданный для столбца nid
, это означает, что в вашем приложении есть проблема (вы, возможно, не использовали «create-drop» или что-то еще)
Если индекс НЕ создается => Это ошибка grails, и вам следует открыть здесь проблему JIRA
Возможно, вам придется добавить имя столбца, чтобы он сработал, например,
static mapping = {
version false
nid column:'nid', index:'Nid_Idx'
}