繁体   English   中英

使用 flyway 截断所有表

[英]Truncate all tables with flyway

我是 flyway 的新手,我不知道是否可以使用 flyway 截断特定模式中的所有表,所以我想删除此表中的所有数据但不想删除表。 当我使用 flyway.clean() 时,它会删除此架构中的所有表,我不希望这样。 感谢你们

正如其他人在评论中提到的那样,Flyway 目前没有内置的方法来截断目标数据库中的表中的数据,同时保留模式。

但是,您可以通过多种方式使用 Flyway 完成这项工作。

例如,您可以:

  • 编写或修改一个截断数据库中所有表的脚本 - 为了简化排序和执行,我会将其编写为可重复的迁移
  • 将其存储在其自己的迁移文件夹中
  • 当您要删除所有数据时,在调用flyway migrate时指定该位置

要考虑的一件事是,用于截断表的脚本通常需要具有特定于数据库平台的逻辑。 如果命令未按特定顺序运行,则外键、索引视图等可能会导致截断或删除命令失败或速度非常慢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM