第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Spring-boot:在不啟動(dòng)應(yīng)用程序的情況下運(yùn)行flyway遷移

Spring-boot:在不啟動(dòng)應(yīng)用程序的情況下運(yùn)行flyway遷移

largeQ 2024-01-05 10:03:44
我們有一個(gè) Spring Boot 服務(wù),可以進(jìn)行 Flyway 遷移,并且一切正?!,F(xiàn)在,對(duì)于新的部署用例,問(wèn)題是是否有一個(gè) java 選項(xiàng)(參數(shù)或類(lèi)似的東西)來(lái)僅啟動(dòng) Flyway 遷移而不啟動(dòng)實(shí)際服務(wù)。
查看完整描述

3 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

這對(duì)我來(lái)說(shuō)很有用;


import static org.springframework.boot.WebApplicationType.NONE;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.SpringBootConfiguration;

import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;

import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.context.annotation.Import;


/**

 * Utility to run flyway migration without starting service

 */

@SpringBootConfiguration

@Import({DataSourceAutoConfiguration.class, FlywayAutoConfiguration.class})

public class FlywayMigrationRunner {


public static void main(String[] args) {


SpringApplication application =

    new SpringApplicationBuilder(FlywayMigrationRunner.class)

        .web(NONE).build();


    application.run(args);

  }

}

中等鏈接


查看完整回答
反對(duì) 回復(fù) 2024-01-05
?
至尊寶的傳說(shuō)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊

基本上,我自己通過(guò)利用 Flyway 回調(diào)來(lái)實(shí)現(xiàn)它,并在遷移成功完成后簡(jiǎn)單地關(guān)閉應(yīng)用程序。整個(gè)過(guò)程由一個(gè)單獨(dú)的配置參數(shù)控制。


這是回調(diào)


public class PostMigrationCallback implements Callback {


  private final FlywayCustomProperties flywayCustomProperties;

  private final ApplicationContext applicationContext;


  public PostMigrationCallback(FlywayCustomProperties flywayCustomProperties, ApplicationContext applicationContext) {

    this.flywayCustomProperties = flywayCustomProperties;

    this.applicationContext = applicationContext;

  }


  @Override

  public boolean supports(Event event, Context context) {

    if (event.getId().equalsIgnoreCase("afterMigrate") && flywayCustomProperties.isMigrationOnly()) {

      log.info("Service is going to shutdown as configuration was set to spring.flyway.migrate-only=true and schema was migrated successfully");

      int exitCode = SpringApplication.exit(applicationContext, () -> 0);

      System.exit(exitCode);

    }

    return false;

  }


  @Override

  public boolean canHandleInTransaction(Event event, Context context) {

    return false;

  }


  @Override

  public void handle(Event event, Context context) {

  }

}

這里我們有配置參數(shù)


@Data

@Validated

@ConfigurationProperties(prefix = "spring.flyway")

public class FlywayCustomProperties {


  @NotNull

  private boolean migrationOnly;

}


查看完整回答
反對(duì) 回復(fù) 2024-01-05
?
富國(guó)滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊

是的,您可以使用 Flyway cli 來(lái)運(yùn)行遷移,而無(wú)需啟動(dòng)服務(wù): https ://flywaydb.org/documentation/commandline/


查看完整回答
反對(duì) 回復(fù) 2024-01-05
  • 3 回答
  • 0 關(guān)注
  • 332 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)