grails - Grails dbm-update中的异常-NoSuchBeanDefinitionException

标签 grails groovy data-migration

当我运行"grails dbm-update --dataSource=production"时,出现以下异常:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory_production' is defined
    at grails.plugin.databasemigration.MigrationUtils.findSessionFactory(MigrationUtils.groovy:142)
    at grails.plugin.databasemigration.MigrationUtils.getDatabase(MigrationUtils.groovy:105)
    at _DatabaseMigrationCommon_groovy$_run_closure2_closure11.doCall(_DatabaseMigrationCommon_groovy:52)
    at grails.plugin.databasemigration.MigrationUtils.executeInSession(MigrationUtils.groovy:133)
    at _DatabaseMigrationCommon_groovy$_run_closure2.doCall(_DatabaseMigrationCommon_groovy:51)
    at DbmUpdate$_run_closure1.doCall(DbmUpdate:25)

它适用于默认数据源(如果我运行“grails dbm-update”),但不适用于生产或自定义数据源。

我使用Grails 2.4.3和database-migration:1.4.0。
我正在Amazon AWS-RDS MySql DB上运行它。

这是我的数据源:
production {        
   grails.dbconsole.enabled = true      
   dataSource {             
      grails.dbconsole.enabled = true           
      username = "myusername"           
      password = "mypassword"           
      pooled = true             
      dbCreate = "none"             
      driverClassName = "com.mysql.jdbc.Driver"             
      url = "jdbc:mysql://mydatabase.us-west-1.rds.amazonaws.com:3306/ebdb?autoReconnect=true"          dialect = org.hibernate.dialect.MySQL5InnoDBDialect             
      properties {
         validationQuery = "SELECT 1"
         testOnBorrow = true
         testOnReturn = true
         testWhileIdle = true
         timeBetweenEvictionRunsMillis = 1800000
         numTestsPerEvictionRun = 3
         minEvictableIdleTimeMillis = 1800000
      }          
   }
}

最佳答案

您称为production的项目不是数据源,而是production环境中常规dataSource的配置。因此,此调用应该有效:

grails prod dbm-update

关于grails - Grails dbm-update中的异常-NoSuchBeanDefinitionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414906/

相关文章:

mysql - 将记录从 mysql 数据库中的表复制到 SQL-SERVER 2008 数据库?

azure - 如何使用 AzCopy 工具将数据从 Azure CosmosDb 复制到本地?

Grails 可搜索关系

groovy - 使用groovy从文本文件中提取包含在一行中的值

string - 如何打印 Groovy 列表并保留引号?

java - 在 findbugs 中为 <static initializer> 添加独占过滤器

sql - 使用 MySQL 在多个数据库中选择和插入

grails - 如何根据环境从配置文件中获取某些属性值?

grails - Grails映射模板

grails - 在grails中使用spring-data-neo4j获取UnsatisfiedDependencyException