首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ff4j kotlin无法创建表引发BadSqlGrammarException

ff4j kotlin无法创建表引发BadSqlGrammarException
EN

Stack Overflow用户
提问于 2022-09-17 15:09:40
回答 1查看 45关注 0票数 0

我正在尝试将FF4J集成到我的spring应用程序项目中,但是看起来驱动程序或FF4J存在一些问题,而且数据库模式没有创建。

我的配置文件:

代码语言:javascript
复制
@Configuration
@ConditionalOnClass(FF4j::class)
class FF4JConfiguration {

    @field:Value("\${spring.ff4j.datasource.url}")
    private lateinit var driverUrl: String

    @field:Value("\${spring.datasource.driver-class-name}")
    private lateinit var driverClass: String

    @field:Value("\${spring.datasource.username}")
    private lateinit var user: String

    @field:Value("\${spring.datasource.password}")
    private lateinit var password: String

    @Bean
    fun getFF4j(): FF4j {
        val source = MysqlDataSource()
        source.setURL(driverUrl)
        source.password = password
        source.user = user
        val fF4j = FF4j()
        fF4j.featureStore = FeatureStoreSpringJdbc().apply { setDataSource(source) }
        fF4j.propertiesStore = PropertyStoreSpringJdbc().apply { setDataSource(source) }
        fF4j.eventRepository = JdbcEventRepository(source)
        fF4j.audit(true)
        fF4j.autoCreate(true)
        return fF4j
    }
}

当我调试时,数据源是这样的:

但是我确实得到了这个BadSqlGrammarException,我不知道为什么它不能在数据库中为我创建SQL表。服务器正在运行,数据库也正常,因为我还有其他表。

我的build.gradle.kts

代码语言:javascript
复制
    implementation("org.ff4j:ff4j-core:1.8.12")
    implementation("org.ff4j:ff4j-web:1.8.12")
    implementation("org.ff4j:ff4j-store-springjdbc:1.8.12")
    implementation("mysql:mysql-connector-java:8.0.30")

知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-20 09:36:02

这很好。FF4J不会自动为您创建架构。你必须通过这样做来自己创造它:

代码语言:javascript
复制
fF4j.featureStore = JdbcFeatureStore().apply {
     dataSource = source
     createSchema()
}
fF4j.propertiesStore = JdbcPropertyStore().apply {
     dataSource = source
     createSchema()
}
fF4j.eventRepository = JdbcEventRepository(source).apply { createSchema() }

你就可以走了。您得到的异常很可能是因为ff4j_features表不存在。现在,它将创建模式,所有表和特性都应该正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73756012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档