当前位置: 首页 > 知识库问答 >
问题:

如何在flyway中编辑现有sql文件

司寇研
2023-03-14

我正在处理flyway Db迁移,我下载了flyway zip文件夹,并将其放在本地计算机上。

sql文件夹中有两个文件,即V1\uu Create\u person\u表。sql和V2\uu添加\u人员。sql。

飞行路线信息

  • Boxfuse Flyway Community Edition 5.2.4
  • 数据库:jdbc:h2:文件:/foobardb(H2 1.4)

架构版本:

+-----------+---------+---------------------+------+--------------+---------+
| Category  | Version | Description         | Type | Installed On | State   |
+-----------+---------+---------------------+------+--------------+---------+
| Versioned | 1       | Create person table | SQL  |              | Pending |
| Versioned | 2       | Add people          | SQL  |              | Pending |
+-----------+---------+---------------------+------+--------------+---------+

Flyway迁移

  • Boxfuse Flyway Community Edition 5.2.4
  • 数据库:jdbc:h2:文件:/foobardb(H2 1.4)
  • 已成功验证2次迁移(执行时间00:00.020s)
  • 正在创建架构历史记录表:“PUBLIC”。“flyway\u schema\u history”
  • 架构“PUBLIC”的当前版本:

飞行路线信息

  • Boxfuse Flyway Community Edition 5.2.4
  • 数据库:jdbc:h2:文件:/foobardb(H2 1.4)

架构版本:2

+-----------+---------+---------------------+------+---------------------+---------+
| Category  | Version | Description         | Type | Installed On        | State   |
+-----------+---------+---------------------+------+---------------------+---------+
| Versioned | 1       | Create person table | SQL  | 2019-08-19 12:12:40 | Success |
| Versioned | 2       | Add people          | SQL  | 2019-08-19 12:12:40 | Success |
+-----------+---------+---------------------+------+---------------------+---------+

现在,这里的问题是:如果我想更新或编辑上述两个sql文件中的某些内容,我该如何做呢?我应该编辑现有的文件版本1、版本2并保存文件,然后再次运行上述所有命令吗?

共有1个答案

艾国安
2023-03-14

不应编辑现有脚本。我必须添加一个新表,例如V3\uu Update\u person\u table。sql并正确更新它。

P. S.

在这个大项目中,我们有几十个脚本,它们迭代地修改空数据库以达到当前状态。

之后,通常,当移动到下一个版本时,我们会将所有现有的脚本合并为一个或两个(当我们不再需要保存历史记录时)。

笔记

这是正确的。我们不会更改现有脚本(这是CI/CD的一部分)。所有更改都应添加新脚本。Flyway接受包含所有脚本的目录。

 类似资料:
  • 在“SQL 编辑器”选项卡,你可以创建和编辑视图的 SELECT 语句 SQL。Navicat Data Modeler 为编辑视图定义提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 sql 格式及更多。 【提示】当你在视图创建工具创建视图,SELECT 语句将会自动生成。 美化 SQL(仅适用于非 Essentials 版) 若要格式化凌乱的 SQL 代码到一个结构良好的脚本,你

  • 我开发了一个应用程序,我在其中反复使用同一个textview,所以我需要经常清除textview。 由于它与UI相关,我必须在UI线程上执行此任务,但仅清除textview就需要5-6毫秒,我想这似乎非常巨大。有谁能帮助我减少这个时间,这样我就可以非常顺利地管理我的UI任务,而不跳过任何帧? 我正在附上我的代码段以供参考,在这里我尝试了两种方法,但最短的时间是5毫秒。 有什么改进绩效的建议或替代方

  • 我知道这个问题已经被问了很多次,但我阅读了所有相关的答案,我的问题还没有解决。我可以通过下面的代码在新的空白pdf文件中添加文本和图像。 但是当我取消注释行

  • 我有一个MapBox地图,上面有通过MapBox网站创建的图钉。 我用我网站上的图钉打电话给这张地图。 就我的一生而言,我无法找到任何相关代码来完成以下两件事: 1) 我需要修改预先制作的点的GeoJSON数据,以向其添加URL(要执行类似操作:https://www.mapbox.com/mapbox.js/example/v1.0.0/markers-as-links/ ). 如何访问JS中的

  • 问题内容: 我看到了这个演示,它打印出一段文本(就像您在键入时会得到的一样),然后 在终端中已经打印出 该文本 后,它又 跳回到文本中的几个关键字并更改了文本颜色。。 在我看来,这太疯狂了。他们是怎么做到的? 开始去想它,我想和在技术上的“IO流”,所以也许这是一个跟踪光标的位置的持久变量?我记得在构建语言解析器时做了类似的事情。 目标是这样的:说您在控制台中键入以下内容,它会输出一个空白数组,因

  • 问题内容: 我的代码出现了一些问题。 这是我数据库类中的方法 我尝试用我的按钮在这里执行它。 但是我得到这个错误:: 因此,基本上我只需要编写一些快速代码来测试它是否可以这种方式工作,所以不要介意命名。但是由于某种原因它无法正常工作,我尝试不这样做而只执行我在MSSQL中测试过的语句,就可以正常工作。 问题答案: 您的更新声明后有一个迷路者。去掉它。另外,您应始终使用 参数化查询来避免SQL注入。