From dd5e9b4d53f6bc6c437a7d78653a754669463607 Mon Sep 17 00:00:00 2001 From: qibaoguang Date: Mon, 6 Apr 2015 00:17:08 +0800 Subject: [PATCH] Update 68.5.1. Execute Flyway database migrations on startup.md --- .../68.5.1. Execute Flyway database migrations on startup.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/IX. ‘How-to’ guides/68.5.1. Execute Flyway database migrations on startup.md b/IX. ‘How-to’ guides/68.5.1. Execute Flyway database migrations on startup.md index e69de29..d68ca0c 100644 --- a/IX. ‘How-to’ guides/68.5.1. Execute Flyway database migrations on startup.md +++ b/IX. ‘How-to’ guides/68.5.1. Execute Flyway database migrations on startup.md @@ -0,0 +1,9 @@ +### 68.5.1. 启动时执行Flyway数据库迁移 + +想要在启动时自动运行Flyway数据库迁移,需要将`org.flywaydb:flyway-core`添加到你的classpath下。 + +迁移是一些`V__.sql`格式的脚本(``是一个下划线分割的版本号,比如'1'或'2_1')。默认情况下,它们存放在一个`classpath:db/migration`的文件夹中,但你可以使用`flyway.locations`(一个列表)来改变它。详情可参考flyway-core中的Flyway类,查看一些可用的配置,比如schemas。Spring Boot在[FlywayProperties](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/flyway/FlywayProperties.java)中提供了一个小的属性集,可用于禁止迁移,或关闭位置检测。 + +默认情况下,Flyway将自动注入(`@Primary`)DataSource到你的上下文,并用它进行数据迁移。如果你想使用一个不同的DataSource,你可以创建一个,并将它标记为`@FlywayDataSource`的`@Bean`-如果你这样做了,且想要两个数据源,记得创建另一个并将它标记为`@Primary`。或者你可以通过在外部配置文件中设置`flyway.[url,user,password]`来使用Flyway的原生DataSource。 + +这是一个[Flyway示例](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-flyway),你可以作为参考。