Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line Flyway迁移模式版本_Command Line_Flyway - Fatal编程技术网

Command line Flyway迁移模式版本

Command line Flyway迁移模式版本,command-line,flyway,Command Line,Flyway,我想使用Flyway获取特定数据库的最新架构版本值。Flyway中是否有在命令行中获取当前架构版本号的函数 我可以运行以下命令: flyway info 这为我的数据库提供了完整的架构内容(简称),如下所示: +----------------+-------------------------------------+---------------------+---------+ | Version | Description

我想使用Flyway获取特定数据库的最新架构版本值。Flyway中是否有在命令行中获取当前架构版本号的函数

我可以运行以下命令:

flyway info
这为我的数据库提供了完整的架构内容(简称),如下所示:

+----------------+-------------------------------------+---------------------+---------+
| Version        | Description                         | Installed on        | State   |
+----------------+-------------------------------------+---------------------+---------+
| 1.0.1          | Create Table TRACKPATH              | 2015-11-10 08:39:36 | Success |
| 1.0.2          | Create Table TRACKGAUGE             | 2015-11-10 08:39:36 | Success |
| ...            | ...                                 | ...                 | ...     |
| 1.5.7          | Create Table FUNCTIONAL SITE        | 2015-11-10 08:40:10 | Success |
| 1.5.8          | Create Table TOPOGRAPHY AREA        | 2015-11-10 08:40:10 | Success |
| 1.5.9          | Create Table FS DETAILDEFD          | 2015-11-10 08:40:11 | Success |
+----------------+-------------------------------------+---------------------+---------+
我只对上一个模式条目版本“1.5.9”值感兴趣

我的环境如下:

+----------------+-------------------------------------+---------------------+---------+
| Version        | Description                         | Installed on        | State   |
+----------------+-------------------------------------+---------------------+---------+
| 1.0.1          | Create Table TRACKPATH              | 2015-11-10 08:39:36 | Success |
| 1.0.2          | Create Table TRACKGAUGE             | 2015-11-10 08:39:36 | Success |
| ...            | ...                                 | ...                 | ...     |
| 1.5.7          | Create Table FUNCTIONAL SITE        | 2015-11-10 08:40:10 | Success |
| 1.5.8          | Create Table TOPOGRAPHY AREA        | 2015-11-10 08:40:10 | Success |
| 1.5.9          | Create Table FS DETAILDEFD          | 2015-11-10 08:40:11 | Success |
+----------------+-------------------------------------+---------------------+---------+
  • 视窗7
  • Flyway 3.0

我最近在为Octopus Deploy构建Flyway插件时,必须准确地解决这个问题。(目前正在等待合并):

如果有办法只返回版本号,我找不到。相反,我按照David Atkinson的建议做了,并抓取了“迁移信息”来查找版本号

下面的PowerShell适合我。如果它解决了你的问题,请告诉我。(是的,也许有比优步更好的方法来做到这一点,因为优步的路线包含了重要的逻辑!)


除了@Alex Yates提供的答案外,由于Flyway提供的回调概念,可能还有另一种方法

回调允许您使用SQL或Java回调按照连接到Flyway的生命周期


在您的情况下,可以定义对“afterInfo”命令步骤的回调,该命令步骤捕获版本并将其保存在变量中,或将其打印到其他位置,以便稍后由脚本使用。

为什么需要该命令步骤?可以从命令行输出中删除它。如果这有帮助的话,我可以在Powershell中共享一些代码来实现这一点?您好@davidakinson,我需要使用它将版本与另一个值进行比较,以确保它们在shell脚本中匹配。我曾想过删除输出,但想知道Flyway是否有一个隐藏的功能,可以在其应用程序中执行。但是,如果您能共享Powershell代码,我将非常感激,谢谢。您也可以阅读flyway存储版本信息的flyway_schema_历史记录表。我认为您已经向我提供了明确的答案,似乎没有(隐式)方法使用flyway获取当前版本号,看来刮削似乎是最简单可行的选择,谢谢you@Leroy我建议您在GitHub问题跟踪器上提交功能请求。