Различные источники данных в среде TEST и DEVELOPMENT - PullRequest
1 голос
/ 08 февраля 2011

Я работаю с устаревшим кодом, который использует источники данных. Я определяю его в файле config.groovy, но когда я запускаю код в режиме TEST, мне нужно определить источник данных другим способом:

environments {
    development {
    grails.naming.entries = [
        "jdbc/AS400DS": [
               ...
        ]
    ]
    }
    test {
    grails.naming.entries = [
        "java:comp/env/jdbc/AS400DS": [
               ...
        ]
    ]
    }
}

Это правильно и нормально? Или я что-то упустил? Это работает, но я не понимаю, почему я должен определять имя jndi по-другому.

1 Ответ

1 голос
/ 10 февраля 2011

Обычно соединения с источниками данных должны быть определены в grails-app / conf / DataSource.groovy. Вы по-прежнему можете поддерживать несколько объявлений среды, и синтаксис намного проще. Вы также можете определить глобальные настройки для ваших соединений JNDI и кэширования в спящем режиме.

dataSource {
    pooled = false
}

hibernate {
    cache.use_second_level_cache=true
    cache.use_query_cache=true
    cache.provider_class='org.hibernate.cache.EhCacheProvider'
}

// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "validate" // one of 'create', 'create-drop','update'
            jndiName = "java:comp/env/jdbc/databaseName"
        }
    }
    test {
        dataSource {
            driverClassName = "com.mysql.jdbc.Driver"
            username = "username"
            password = "password"
            dbCreate = "validate" // one of 'create', 'create-drop','update'
            url = "jdbc:mysql://127.0.0.1:3306/databaseName"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...