【问题标题】:New flyway migrations are not being applied (Springboot)未应用新的 flyway 迁移(Springboot)
【发布时间】:2021-05-07 09:23:58
【问题描述】:

我正在使用 Springboot 并集成了 flyway。我有 2 个迁移文件。

  1. V1__initialize_DB_a.sql
  2. V2__new_tables_added_b.sql

当我使用干净的数据库启动我的 springboot 应用程序时,两个迁移都应用了,没有任何问题。
但是,当我仅使用一个文件 (V1__init_db.sql) 启动我的应用程序,然后在放置新的迁移 V2__new_tables.sql 后重新启动应用程序时,不会应用较新的文件。

V1__initialize_DB_a.sql

IF NOT EXISTS (SELECT NAME
           FROM   sys.schemas
           WHERE  NAME = N'hose')
BEGIN
  EXEC('CREATE SCHEMA hose AUTHORIZATION [dbo]');
END
go

CREATE TABLE [hose].[obj_destination_group]
(
   id_destination_group INT IDENTITY(1,1) NOT NULL,
   properties VARCHAR(MAX) NOT NULL
);
go

V2__new_tables_added_b

ALTER TABLE [hose].[obj_destination_group]
    ADD is_enabled BIT NOT NULL default 1
GO

Flyway_schema_histroy:使用 V1 和 V2 运行后

我花了很多时间浏览文档,但没有运气。非常感谢任何帮助。

【问题讨论】:

  • 能否请您发布SQL脚本,以及结果: select * from flyway_schema_history;在使用 V1 运行后,然后在使用 V1 和 V2 运行后再次运行
  • @BorisKukec,我已经发布了 flyway_schema_history 的脚本和内容。非常感谢

标签: spring-boot flyway


【解决方案1】:

问题已解决。我没有做任何代码更改。我重新启动了我的笔记本电脑(Macbook pro)以解决另一个问题。重新启动后,检测到 V2 迁移文件并应用迁移更改。

注意:我在重启笔记本电脑之前尝试了 Intellij 中的Invalidate caches / Restart 选项。它没有锻炼。奇怪!

【讨论】:

    猜你喜欢
    • 2017-12-23
    • 1970-01-01
    • 2016-03-17
    • 2019-12-27
    • 2020-04-29
    • 2020-08-17
    • 1970-01-01
    • 2023-01-01
    • 2020-07-20
    相关资源
    最近更新 更多