#sql-server #grails #grails-orm
#sql-сервер #grails #grails-orm
Вопрос:
Я хочу добавить новые поля в класс домена, чтобы он обновлял набор атрибутов сгенерированной таблицы. У меня есть такой класс домена,,
Class Book {
String name
static constraints = {
name nullable:false
}
String toString() {
return name
}
}
Созданный GORM включает имя вместе с идентификатором и версией. Теперь я хочу добавить ISBN в класс домена Book следующим образом
Class Book {
String name
String ISBN
static constraints = {
name nullable:false
ISBN nullable:true
}
String toString() {
return name
}
}
Я не хочу использовать create-drop
in DataSource.groovy
, потому что он удалит все мои предыдущие данные. Мой DataSource.groovy
выглядит так,,
dataSource {
dbCreate = "update"
url = "jdbc:jtds:sqlserver://localhost:1433/databaseName"
username = "username"
password = "password"
}
Я хочу, чтобы GORM добавил поле ISBN в таблицу book. Но этого не происходит. Где я ошибаюсь?
Я использую sql server 2008 и grails версии 2.1.1
Ответ №1:
dataSource {
dbCreate = "update"
}
должно сработать. Он обновляет вашу базу данных без удаления таблиц
Комментарии:
1. определено ли это поле для каждой среды? Проверьте также журнал запуска, должны быть некоторые предупреждения в случае неудачных изменений схемы
Ответ №2:
вам нужно будет вручную создать это поле в sql server. это простая задача в sqlserver, потому что все его инструменты, и вам следует ознакомиться с документацией плагина миграции базы данных grails. Он должен быть уже установлен в вашей версии grails