Военный файл, сгенерированный Grails, игнорирует URL источника данных - PullRequest
2 голосов
/ 12 сентября 2009

Grails версия: 1.1

Tomcat версия: 5.5

Проблема: Приложение не использует источники данных URL.

Кажется, что он использует какой-то другой источник данных, но, похоже, он не находится в БД памяти, поскольку я вижу, что данные сохраняются между сеансами.

Я даже пытался дать несуществующее имя базы данных - и приложение работает нормально. Под этим я подразумеваю, что могу сохранять данные и получать их в приложении Я не могу понять, где данные сохраняются !!!

Я сгенерировал файл войны, используя команду grails war

Так выглядит конфигурация источника данных

 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 ]

2 голосов
/ 12 сентября 2009

Вам нужно установить источник производственных данных, так как именно это 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
}
        }

0 голосов
/ 12 сентября 2009

На какие доказательства вы указываете, что Grails игнорирует ваш источник данных?

Заходили ли вы в MySQL до запуска Grails, чтобы создать mydb, добавить пользователя с "usr" и "pwd" и получить соответствующие разрешения GRANT? Grails не делает этого для вас.

Как только база данных существует, Grails создаст для вас схему. Вы должны иметь возможность войти в систему, использовать mydb и «показать таблицы», чтобы увидеть схему.

Но сначала нужно создать базу данных.

...