Военный файл, сгенерированный Grails, игнорирует URL источника данных
Версия Grails:1.1
Версия Tomcat: 5.5
Проблема: приложение не использует источники данных URL.
Кажется, что он использует какой-то другой источник данных, но он не находится в БД памяти, поскольку я вижу, что данные сохраняются между сеансами.
Я даже пытался дать несуществующее имя базы данных - и приложение работает нормально. Под этим я подразумеваю, что я могу сохранить данные и получить их в порядке - в приложении я не могу понять, где данные сохраняются!!!
Я сгенерировал файл войны, используя команду-Grails War
Вот так выглядит конфиг dataSource
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
username = "user"
password = "pwd"
}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
}
environments {
production {
dataSource {
dbCreate = "create"
url = "jdbc:mysql://localhost:3307/mydb?autoReconnect=true"
dialect = org.hibernate.dialect.MySQL5Dialect
}
}
}
2 ответа
Вам нужно установить источник производственных данных, так как это то, что Grails использует при создании войны.
development {
dataSource {
dbCreate = "create"
url = "jdbc:mysql://localhost:3307/mydb?autoReconnect=true"
dialect = org.hibernate.dialect.MySQL5Dialect
}
}
production {
dataSource {
dbCreate = "create"
url = "jdbc:mysql://localhost:3307/mydb?autoReconnect=true"
dialect = org.hibernate.dialect.MySQL5Dialect
}
}
Какие доказательства, на которые вы смотрите, говорят о том, что Grails игнорирует ваш источник данных?
Заходили ли вы в MySQL до запуска Grails, чтобы создать mydb, добавить пользователя с правами "usr" и "pwd" и предоставить ему соответствующие разрешения GRANT? Grails не делает этого для вас.
Как только база данных существует, Grails создаст для вас схему. Вы должны иметь возможность войти в систему, использовать mydb и "показать таблицы", чтобы увидеть схему.
Но вы должны сначала создать базу данных.