使用gradle和flyway插件创建MySQL模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用gradle和flyway插件创建MySQL模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1849字,纯文字阅读大概需要3分钟。
内容图文
我们在项目中使用gradle来构建一个多存储库项目.由于它是在Jenkins构建服务器上自动构建和测试的,因此我们需要设置和拆除数据库.
我对持续集成最佳实践的理解是,我们只需按一下按钮即可设置和拆除测试数据库.即使这还不存在.所以我想要一个gradle任务,如果它还不存在,只需在MySQL中创建一个数据库.
浏览这个很好的网站,当我被指向使用Gradle的flyway插件时,我以为我找到了答案.从版本2.1(http://java.dzone.com/announcements/flyway-21-released-automatic)开始,flyway确实支持自动模式创建,所以应该可以使用插件,如果不是的话?
但是,如果我运行gradle flywayInit或gradle flywayClean,每次我收到消息未知数据库时都使用url =’jdbc:mysql://127.0.0.1:3306 / test’这样的url:test.所以我尝试了以下方法:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.flywaydb:flyway-gradle-plugin:3.0'
}
}
// Use Flyway plugin to create database
apply plugin: 'flyway'
flyway {
user = 'root'
password = 'root'
url = 'jdbc:mysql://127.0.0.1:3306'
schemas = ['test']
}
我本来期望另一个连接错误.相反,构建是成功的,但没有创建数据库架构.如何使用gradle和Flyway创建架构?如果我们可以在没有Flyway的情况下做到这一点也很好.
更新:
事实证明这很好用.我正在查看我的数据库模式列表的过时版本.显然,Sequel Pro在刷新时更新模式列表太愚蠢了.或者我太傻了,无法在Sequel pro中找到合适的按钮.
更新2:
为了确保每次构建都会发生这种情况,我将以下行添加到build.gradle:
// Add dependencies to tasks
build.dependsOn flywayInit
解决方法:
我跟着Get started with Gradle and Flyway,一切都运行正常.
我使用的是gradle 2.2,build.gradle文件是:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'mysql:mysql-connector-java:5.1.34'
classpath 'org.flywaydb:flyway-gradle-plugin:3.1'
}
}
apply plugin: 'flyway'
apply plugin: 'java'
flyway {
url = 'jdbc:mysql://localhost:3306'
user = 'root'
password = 'root'
schemas = ['demo1']
}
之后,运行gradle flywayMigrate -i.如果数据库不存在,将由flyway创建.
您可以在此处查看Flyway任务列表:link
内容总结
以上是互联网集市为您收集整理的使用gradle和flyway插件创建MySQL模式全部内容,希望文章能够帮你解决使用gradle和flyway插件创建MySQL模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。