Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker-compose 使用最新的 image 启动服务,服务初始化 SQL 报错了 #177

Open
myxOpsKevin opened this issue May 6, 2024 · 0 comments
Assignees

Comments

@myxOpsKevin
Copy link

myxOpsKevin commented May 6, 2024

前提条件

  • 我已经创建 openjob 库

docker-compose 信息:

version: '3'

services:
  openjob:
    container_name: openjob
    image: openjob/openjob-server:latest
    restart: always
    environment:
      - AKKA_REMOTE_HOSTNAME=172.31.18.48
      #- OJ_DS_DRIVER_CLASS=com.mysql.cj.jdbc.Driver
      - OJ_DS_URL=jdbc:mysql://172.31.18.48:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      - OJ_DS_USERNAME=root
      - OJ_DS_PASSWORD=123456
      - OJ_LOG_STORAGE_MYSQL_URL=jdbc:mysql://172.31.18.48:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      - OJ_LOG_STORAGE_MYSQL_USER=root
      - OJ_LOG_STORAGE_MYSQL_PASSWORD=123456
    ports: 
      - "8080:8080"
      - "25520:25520" 
    privileged: true

报错信息

024-05-06 20:23:58,561 ERROR [main] o.f.core.internal.command.DbMigrate [Slf4jLog.java : 52] Migration of schema `openjob` to version "1 - v1.0.7 release" failed! Please restore backups and roll back database and code!
2024-05-06 20:23:58,588 WARN [main] o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext [AbstractApplicationContext.java : 591] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: Migration V1__v1.0.7_release.sql failed
---------------------------------------
SQL State  : 42000
Error Code : 1064
Message    : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT' at line 9
Location   : db/migration/h2/V1__v1.0.7_release.sql (/home/openjob/file:/home/openjob/target/openjob-server.jar!/BOOT-INF/classes!/db/migration/h2/V1__v1.0.7_release.sql)
Line       : 171
Statement  : CREATE TABLE `delay_instance`
(
    id               BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'PK',
    app_id           BIGINT                NOT NULL COMMENT 'Application',
    namespace_id     BIGINT                NOT NULL COMMENT 'Namespace',
    task_id          VARCHAR(64) DEFAULT '' NOT NULL COMMENT 'Task id',
    topic            VARCHAR(128) DEFAULT '' NOT NULL COMMENT 'Topic',
    delay_id         BIGINT                NOT NULL COMMENT 'Delay id',
    delay_params     CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT                  NOT NULL COMMENT 'Delay extra',
    status           TINYINT               NOT NULL COMMENT 'Delay task status',
    fail_status      TINYINT DEFAULT 0     NOT NULL COMMENT 'Delay fail status',
    execute_time     BIGINT                NOT NULL COMMENT 'Execute time',
    complete_time    BIGINT DEFAULT 0      NOT NULL COMMENT 'Complete time',
    worker_address   VARCHAR(32) DEFAULT '' NOT NULL COMMENT 'Worker address',
    deleted          TINYINT DEFAULT 2     NOT NULL COMMENT 'Delete status. 1=yes 2=no',
    delete_time      BIGINT DEFAULT 0      NOT NULL COMMENT 'Delete time',
    create_time      BIGINT                NOT NULL COMMENT 'Create time',
    update_time      BIGINT                NOT NULL COMMENT 'Update time',
    create_time_date INT DEFAULT 0         NOT NULL COMMENT 'Time date`20230527`',
    create_time_hour INT DEFAULT 0         NOT NULL COMMENT 'Time hour`2023052701`'
)

2024-05-06 20:23:58,643 ERROR [main] o.s.boot.SpringApplication [SpringApplication.java : 843] Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: Migration V1__v1.0.7_release.sql failed
---------------------------------------
SQL State  : 42000
Error Code : 1064
Message    : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT' at line 9
Location   : db/migration/h2/V1__v1.0.7_release.sql (/home/openjob/file:/home/openjob/target/openjob-server.jar!/BOOT-INF/classes!/db/migration/h2/V1__v1.0.7_release.sql)
Line       : 171
Statement  : CREATE TABLE `delay_instance`
(
    id               BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'PK',
    app_id           BIGINT                NOT NULL COMMENT 'Application',
    namespace_id     BIGINT                NOT NULL COMMENT 'Namespace',
    task_id          VARCHAR(64) DEFAULT '' NOT NULL COMMENT 'Task id',
    topic            VARCHAR(128) DEFAULT '' NOT NULL COMMENT 'Topic',
    delay_id         BIGINT                NOT NULL COMMENT 'Delay id',
    delay_params     CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT                  NOT NULL COMMENT 'Delay extra',
    status           TINYINT               NOT NULL COMMENT 'Delay task status',
    fail_status      TINYINT DEFAULT 0     NOT NULL COMMENT 'Delay fail status',
    execute_time     BIGINT                NOT NULL COMMENT 'Execute time',
    complete_time    BIGINT DEFAULT 0      NOT NULL COMMENT 'Complete time',
    worker_address   VARCHAR(32) DEFAULT '' NOT NULL COMMENT 'Worker address',
    deleted          TINYINT DEFAULT 2     NOT NULL COMMENT 'Delete status. 1=yes 2=no',
    delete_time      BIGINT DEFAULT 0      NOT NULL COMMENT 'Delete time',
    create_time      BIGINT                NOT NULL COMMENT 'Create time',
    update_time      BIGINT                NOT NULL COMMENT 'Update time',
    create_time_date INT DEFAULT 0         NOT NULL COMMENT 'Time date`20230527`',
    create_time_hour INT DEFAULT 0         NOT NULL COMMENT 'Time hour`2023052701`'
)

        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:338)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)
        at io.openjob.server.ServerApplication.main(ServerApplication.java:19)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: Migration V1__v1.0.7_release.sql failed
---------------------------------------
SQL State  : 42000
Error Code : 1064
Message    : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT' at line 9
Location   : db/migration/h2/V1__v1.0.7_release.sql (/home/openjob/file:/home/openjob/target/openjob-server.jar!/BOOT-INF/classes!/db/migration/h2/V1__v1.0.7_release.sql)
Line       : 171
Statement  : CREATE TABLE `delay_instance`
(
    id               BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'PK',
    app_id           BIGINT                NOT NULL COMMENT 'Application',
    namespace_id     BIGINT                NOT NULL COMMENT 'Namespace',
    task_id          VARCHAR(64) DEFAULT '' NOT NULL COMMENT 'Task id',
    topic            VARCHAR(128) DEFAULT '' NOT NULL COMMENT 'Topic',
    delay_id         BIGINT                NOT NULL COMMENT 'Delay id',
    delay_params     CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT                  NOT NULL COMMENT 'Delay extra',
    status           TINYINT               NOT NULL COMMENT 'Delay task status',
    fail_status      TINYINT DEFAULT 0     NOT NULL COMMENT 'Delay fail status',
    execute_time     BIGINT                NOT NULL COMMENT 'Execute time',
    complete_time    BIGINT DEFAULT 0      NOT NULL COMMENT 'Complete time',
    worker_address   VARCHAR(32) DEFAULT '' NOT NULL COMMENT 'Worker address',
    deleted          TINYINT DEFAULT 2     NOT NULL COMMENT 'Delete status. 1=yes 2=no',
    delete_time      BIGINT DEFAULT 0      NOT NULL COMMENT 'Delete time',
    create_time      BIGINT                NOT NULL COMMENT 'Create time',
    update_time      BIGINT                NOT NULL COMMENT 'Update time',
    create_time_date INT DEFAULT 0         NOT NULL COMMENT 'Time date`20230527`',
    create_time_hour INT DEFAULT 0         NOT NULL COMMENT 'Time hour`2023052701`'
)

        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:378)
        at org.flywaydb.core.internal.command.DbMigrate.lambda$applyMigrations$1(DbMigrate.java:271)
        at org.flywaydb.core.internal.jdbc.TransactionalExecutionTemplate.execute(TransactionalExecutionTemplate.java:66)
        at org.flywaydb.core.internal.command.DbMigrate.applyMigrations(DbMigrate.java:270)
        at org.flywaydb.core.internal.command.DbMigrate.migrateGroup(DbMigrate.java:243)
        at org.flywaydb.core.internal.command.DbMigrate.lambda$migrateAll$0(DbMigrate.java:141)
        at org.flywaydb.core.internal.database.mysql.MySQLNamedLockTemplate.execute(MySQLNamedLockTemplate.java:60)
        at org.flywaydb.core.internal.database.mysql.MySQLConnection.lock(MySQLConnection.java:154)
        at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.lock(JdbcTableSchemaHistory.java:141)
        at org.flywaydb.core.internal.command.DbMigrate.migrateAll(DbMigrate.java:141)
        at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:101)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:219)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:170)
        at org.flywaydb.core.Flyway.execute(Flyway.java:586)
        at org.flywaydb.core.Flyway.migrate(Flyway.java:170)
        at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet(FlywayMigrationInitializer.java:66)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)
        ... 26 common frames omitted
Caused by: org.flywaydb.core.internal.sqlscript.FlywaySqlScriptException: Migration V1__v1.0.7_release.sql failed
---------------------------------------
SQL State  : 42000
Error Code : 1064
Message    : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT' at line 9
Location   : db/migration/h2/V1__v1.0.7_release.sql (/home/openjob/file:/home/openjob/target/openjob-server.jar!/BOOT-INF/classes!/db/migration/h2/V1__v1.0.7_release.sql)
Line       : 171
Statement  : CREATE TABLE `delay_instance`
(
    id               BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'PK',
    app_id           BIGINT                NOT NULL COMMENT 'Application',
    namespace_id     BIGINT                NOT NULL COMMENT 'Namespace',
    task_id          VARCHAR(64) DEFAULT '' NOT NULL COMMENT 'Task id',
    topic            VARCHAR(128) DEFAULT '' NOT NULL COMMENT 'Topic',
    delay_id         BIGINT                NOT NULL COMMENT 'Delay id',
    delay_params     CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT                  NOT NULL COMMENT 'Delay extra',
    status           TINYINT               NOT NULL COMMENT 'Delay task status',
    fail_status      TINYINT DEFAULT 0     NOT NULL COMMENT 'Delay fail status',
    execute_time     BIGINT                NOT NULL COMMENT 'Execute time',
    complete_time    BIGINT DEFAULT 0      NOT NULL COMMENT 'Complete time',
    worker_address   VARCHAR(32) DEFAULT '' NOT NULL COMMENT 'Worker address',
    deleted          TINYINT DEFAULT 2     NOT NULL COMMENT 'Delete status. 1=yes 2=no',
    delete_time      BIGINT DEFAULT 0      NOT NULL COMMENT 'Delete time',
    create_time      BIGINT                NOT NULL COMMENT 'Create time',
    update_time      BIGINT                NOT NULL COMMENT 'Update time',
    create_time_date INT DEFAULT 0         NOT NULL COMMENT 'Time date`20230527`',
    create_time_hour INT DEFAULT 0         NOT NULL COMMENT 'Time hour`2023052701`'
)

        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.handleException(DefaultSqlScriptExecutor.java:277)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:224)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.execute(DefaultSqlScriptExecutor.java:128)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.executeOnce(SqlMigrationExecutor.java:78)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.lambda$execute$0(SqlMigrationExecutor.java:67)
        at org.flywaydb.core.internal.database.DefaultExecutionStrategy.execute(DefaultExecutionStrategy.java:27)
        at org.flywaydb.core.internal.resolver.sql.SqlMigrationExecutor.execute(SqlMigrationExecutor.java:66)
        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:370)
        ... 43 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CLOB                  NOT NULL COMMENT 'Delay params',
    delay_extra      TEXT' at line 9
        at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
        at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
        at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:768)
        at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:653)
        at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94)
        at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
        at org.flywaydb.core.internal.jdbc.JdbcTemplate.executeStatement(JdbcTemplate.java:241)
        at org.flywaydb.core.internal.sqlscript.ParsedSqlStatement.execute(ParsedSqlStatement.java:111)
        at org.flywaydb.core.internal.sqlscript.DefaultSqlScriptExecutor.executeStatement(DefaultSqlScriptExecutor.java:212)
        ... 49 common frames omitted
@myxOpsKevin myxOpsKevin changed the title 使用最新的 image 启动服务,报错了 docker-compose 使用最新的 image 启动服务,服务初始化 SQL 报错了 May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants