0

私はGrailsを初めて使用するので、無知を許してください。他の情報が役立つ場合は、投稿できるように最善を尽くします。

ToolKitComponent次のように定義される単一のドメインモデルクラスを作成しました。

class ToolKitComponent {
    String componentName
    String componentVersion
    int componentDownloads
    Date compnentLastUpdate

    static constraints = {

    }
}

例を永続化してORMをテストしたいコントローラーがあるので、コントローラーの内容は次のとおりです。

def index() { 
        ToolKitComponent i = new ToolKitComponent()
        i.setComponentName("TestComponent")
        i.setComponentVersion("v1.10")
        i.setComponentDownloads(1)
        i.setCompnentLastUpdate(new Date())
        i.save()
}

MySqlデータベースプラグインをインストールし、DataSource.groovyを次のように更新しました。

dataSource {
    pooled = true
    driverClassName = "com.mysql.jdbc.Driver"
    dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
    loggingSql = true
}

// other settings

environments {
    development {
        dataSource {
            String dbCreate = "create"
            String url = "jdbc:mysql://localhost/testDataBase"
            String username = "myUser"
            String password = "myPass"
        }
    }
}

データベースを作成し、testDataBaseすべてをユーザー名に付与しました。

アプリケーションを実行すると、次のようになります。

Hibernate: insert into tool_kit_component (version, compnent_last_update, component_downloads, component_name, component_version) values (?, ?, ?, ?, ?)
| Error 2012-07-11 20:01:52,727 [http-bio-8080-exec-2] ERROR util.JDBCExceptionReporter  - Table "TOOL_KIT_COMPONENT" not found; SQL statement:
insert into tool_kit_component (version, compnent_last_update, component_downloads, component_name, component_version) values (?, ?, ?, ?, ?) [42102-164]
| Error 2012-07-11 20:01:52,752 [http-bio-8080-exec-2] ERROR errors.GrailsExceptionResolver  - JdbcSQLException occurred when processing request: [GET] /TestProject/
Table "TOOL_KIT_COMPONENT" not found; SQL statement:
insert into tool_kit_component (version, compnent_last_update, component_downloads, component_name, component_version) values (?, ?, ?, ?, ?) [42102-164]. Stacktrace follows:
Message: Table "TOOL_KIT_COMPONENT" not found; SQL statement:
insert into tool_kit_component (version, compnent_last_update, component_downloads, component_name, component_version) values (?, ?, ?, ?, ?) [42102-164]
    Line | Method
->>  329 | getJdbcSQLException in org.h2.message.DbException
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    169 | get                 in     ''
|    146 | get . . . . . . . . in     ''
|   4753 | readTableOrView     in org.h2.command.Parser
|   4731 | readTableOrView . . in     ''
|    954 | parseInsert         in     ''
|    375 | parsePrepared . . . in     ''
|    279 | parse               in     ''
|    251 | parse . . . . . . . in     ''
|    217 | prepareCommand      in     ''
|    415 | prepareLocal . . .  in org.h2.engine.Session
|    364 | prepareCommand      in     ''
|   1121 | prepareCommand . .  in org.h2.jdbc.JdbcConnection
|     71 | <init>              in org.h2.jdbc.JdbcPreparedStatement
|    267 | prepareStatement .  in org.h2.jdbc.JdbcConnection
|   1051 | prepareStatement    in     ''
|    508 | prepareStatement .  in org.apache.commons.dbcp.DelegatingConnection
|    400 | prepareStatement    in org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
|     11 | index . . . . . . . in TestProject.HomeController
|   1110 | runWorker           in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run                 in java.lang.Thread

Grails2.0.4を使用しています。

どんな助けでも大歓迎です!

4

1 に答える 1

2

Stringデータソース定義を削除します

environments {
    development {
        dataSource {
            dbCreate = "create"
            url = "jdbc:mysql://localhost/testDataBase"
            username = "myUser"
            password = "myPass"

        }
    }
}
于 2012-07-12T02:07:22.890 に答える