Grails 3 схема-экспорт неверное имя пользователя или пароль
У меня есть проект Grails 3 с несколькими источниками данных в Intellij. Попробуйте запустить команду Grails:
schema-export --filename grails-app/conf/db/migration/operator/ddl.sql --datasource=operator
org.h2.jdbc.JdbcSQLException: Неверное имя пользователя или пароль [28000-194]
Полная ошибка ниже. Интересно, что соединение не с h2 DB. application.yml использует базу данных PostgreSQL.
dataSources:
dataSource:
pooled: false
jmxExport: true
driverClassName: org.postgresql.Driver
username: user1
password: password1
dialect: net.kaleidos.hibernate.PostgresqlExtensionsDialect
operator:
pooled: false
jmxExport: true
driverClassName: org.postgresql.Driver
username: user2
password: password2
dialect: org.hibernate.dialect.PostgresqlExtensionsDialect
environments:
development:
server:
contextPath: '/@info.app.name@'
dataSource:
dbCreate: none
url: jdbc:postgresql://localhost:5432/mydb?currentSchema=schema1
datasources:
operator:
dbCreate: none
url: jdbc:postgresql://localhost1:5432/mydb?currentSchema=schema2
Почему это не удается?
Создание сценария для.\ Build\ddl.sql в среде 'development' для оператора 'источника данных' 2017-06-08 14:35:14.598 ОШИБКА --- [
Поток-13] ogpdEmbeddedDatabaseShutdownHook: Ошибка при закрытии источника данныхorg.h2.jdbc.JdbcSQLException: Неверное имя пользователя или пароль [28000-194] в org.h2.message.DbException.getJdbcSQLException(DbException.java:345) в org.h2.message.DbException.get(DbException.java:179) в org.h2.message.DbException.get(DbException.java:155) в org.h2.message.DbException.get(DbException.java:144) в org.h2.engine.Engine.validateUserAndPassword(Engine.java:336) в org.h2.engine.Engine.createSessionAndValidate(Engine.java:162) в org.h2.engine.Engine.createSession(Engine.java:137) в org.h2.engine.Engine.createSession (Engine. Java:27) в org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:354) в org.h2.jdbc.JdbcConnection.(JdbcConnection.java:116) в org.h2.jdbc.JdbcConjction.:100) в org.h2.Driver.connect(Driver.java:69) в java.sql.DriverManager.getConnection(DriverManager.java:664) в java.sql.DriverManager.getConnection(DriverManager.java:208) в org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:153) в org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:144) в org.springframework.jdbc.datasriver.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:159) в org.grails.plugins.datasource.EmbeddedDatabaseShutdownHook.shutdownEmbeddedDatabase(EmbeddedDatabaseShutdownHotfl)..NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Metho.jpg. Org.jpg ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) в org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) в groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) в groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1218) в groovy.lang.Metacljetlgl.codehaus.groovy.runtime.java:76) в org.grails.plugins.datasource.EmbeddedDatabaseShutdownHook$_stop_closure2.doCall(EmbeddedDatabaseShutdownHook.groovy:39) в sun.reflect.NativeMethodAccessorImpl.invokeccess (нативный метод). 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:498) в org.springsource.loaded.ri.ReflectiveInterceptorjjl: 1426) в org.codehaus.groovy.reflection.Cac hedMethod.invoke (CachedMethod.java:93) в groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) в org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.inlassytaglov.MetaClassImpl.invokeMethod(MetaClassImpl.java:1027) в groovy.lang.Closure.call(Closure.java:414) в groovy.lang.Closure.call(Closure.java:430) в org.codehaus.groovy.runtime.DefaultGroovyMethods..grails.plugins..java:231) в org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:50) по адресу org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:365) по адресу org.springframework.context.support.DefaultLavaPcessProcessoror_BoreProcycle..run(AbstractApplicationContext.java:928)
1 ответ
Я частично решил это. Документация Grails 3 для настройки нескольких источников данных, по-видимому, неверна. http://docs.grails.org/latest/guide/conf.html Кажется, он не работает для конфигурации для каждой среды в application.yml. Помещая все параметры конфигурации на корневой уровень, запускается команда export-schema.
Который отвечает на вопрос, который я задал здесь, но экспорт схемы все еще не работает:
Он создает build\ddl.sql (по умолчанию gradle schemaExport), а не тот, который указан в команде schema-export grails
build/ddl.sql пуст.