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 пуст.

Другие вопросы по тегам