数据库不是在Grails中自动创建的

时间:2014-04-05 07:23:21

标签: grails

我正在使用grails项目,我正在使用MySQL数据库。当我默认使用HSQLDB时,它会自动创建数据库和表,但是在MySQL的情况下,我需要手动创建数据库。

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = org.hibernate.dialect.MySQLDialect
    username = "root"
    password = "root"
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}
// environment specific settings
environments {
    development {
        dataSource {
            dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
            url = "jdbc:mysql://localhost:3306/sec_grails"
        }
    }
    test {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://localhost:3306/sec_grails"
        }
    }
    production {
        dataSource {
            dbCreate = "update"
            url = "jdbc:mysql://localhost:3306/sec_grails_prod"
            pooled = true
            properties {
               maxActive = -1
               minEvictableIdleTimeMillis=1800000
               timeBetweenEvictionRunsMillis=1800000
               numTestsPerEvictionRun=3
               testOnBorrow=true
               testWhileIdle=true
               testOnReturn=true
               validationQuery="SELECT 1"
            }
        }
    }
}

任何在MySQL自动创建数据库的方法吗?

1 个答案:

答案 0 :(得分:1)

这是正常行为。 Grails不会创建数据库,除了内存数据库(H2和HSQLDB)。您必须手动创建数据库。一旦创建,Grails就可以管理模式,但它无法为您创建数据库。