使用 Apache Ignite 进行 Flyway

问题描述 投票:0回答:1

有人可以告诉我如何将 Flyway 与 Apache Ignite 集成吗?我在 Flyway 文档中找到了 Maven 依赖项,但找不到“INFORMATION_SCHEMA”。 造成这种情况的原因是什么以及我该如何解决它? 也许有更方便的迁移方式。 主要思想是如果最近没有应用它们,则在应用程序启动时执行 sql 脚本。

<dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
            <version>10.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-database-ignite</artifactId>
            <version>10.12.0</version>
        </dependency>
Exception in thread "main" org.flywaydb.core.internal.exception.FlywaySqlException: Unable to check whether schema "PUBLIC" exists
----------------------------------------------
SQL State  : 42000
Error Code : 1001
Message    : Failed to validate query. From line 1, column 22 to line 1, column 48: Object 'INFORMATION_SCHEMA' not found

    at org.flywaydb.core.internal.database.base.Schema.exists(Schema.java:57)
    at org.flywaydb.core.internal.command.DbValidate.validate(DbValidate.java:89)
    at org.flywaydb.core.Flyway.doValidate(Flyway.java:418)
    at org.flywaydb.core.Flyway.lambda$migrate$0(Flyway.java:162)
    at org.flywaydb.core.FlywayExecutor.execute(FlywayExecutor.java:210)
    at org.flywaydb.core.Flyway.migrate(Flyway.java:151)
    at com.soramaki.fna.imbe.IMBeApplication.main(IMBeApplication.java:20)
Caused by: java.sql.SQLException: Failed to validate query. From line 1, column 22 to line 1, column 48: Object 'INFORMATION_SCHEMA' not found
    at org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:1010)
    at org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:234)
    at org.apache.ignite.internal.jdbc.thin.JdbcThinPreparedStatement.executeWithArguments(JdbcThinPreparedStatement.java:252)
    at org.apache.ignite.internal.jdbc.thin.JdbcThinPreparedStatement.executeQuery(JdbcThinPreparedStatement.java:78)
    at org.flywaydb.core.internal.jdbc.JdbcTemplate.queryForInt(JdbcTemplate.java:111)
    at org.flywaydb.community.database.ignite.thin.IgniteThinSchema.doExists(IgniteThinSchema.java:48)
    at org.flywaydb.core.internal.database.base.Schema.exists(Schema.java:55)
    ... 6 more
ignite flyway apacheignite
1个回答
0
投票

Ignite 已经有一段时间没有

INFORMATION_SCHEMA
了。大多数相同的信息都在 SYS 模式中,但使用它需要在 Flyway 中进行一些代码更改。

© www.soinside.com 2019 - 2024. All rights reserved.