当前位置: 首页 > news >正文

牡丹江建设网站网站开发外键

牡丹江建设网站,网站开发外键,西安wordpress主题,西安网页设计培训机构哪个好Flyway Flyway 是一款开源的数据库版本管理工具#xff0c;用于管理和自动化数据库结构的变更。它可以跟踪和管理数据库的版本控制#xff0c;并在应用程序启动时自动执行升级或回滚操作。 使用Flyway#xff0c;你可以将数据库的变更以可重复且可控的方式应用到不同环境中…Flyway Flyway 是一款开源的数据库版本管理工具用于管理和自动化数据库结构的变更。它可以跟踪和管理数据库的版本控制并在应用程序启动时自动执行升级或回滚操作。 使用Flyway你可以将数据库的变更以可重复且可控的方式应用到不同环境中如开发、测试和生产环境。它支持多种数据库系统包括MySQL、Oracle、PostgreSQL、SQL Server等。 Flyway将数据库结构的变更定义为一系列迁移脚本通常是SQL脚本文件。每个迁移脚本都有一个唯一的版本号Flyway会按照版本号的顺序依次执行这些脚本以达到数据库结构的变更和更新。当应用程序启动时Flyway会自动检测并执行未应用的迁移脚本将数据库升级到最新版本。如果需要回滚到之前的版本Flyway也提供了回滚操作的支持。 通过使用Flyway开发团队可以更好地管理数据库结构的变更保持不同环境之间的数据库一致性并轻松地进行版本控制和追踪。 官方文档https://documentation.red-gate.com/fd/ Flyway 工作流程 1、检测数据库状态Flyway会连接到配置的数据库并检测当前数据库的状态包括已应用的迁移脚本版本和未应用的迁移脚本。 2、执行迁移脚本Flyway会将未应用的迁移脚本按照版本号的顺序逐一执行。它会查找项目中指定的迁移脚本目录默认为db/migration并依次运行其中的SQL脚本。 3、更新数据库状态每当一个迁移脚本成功执行后Flyway会将其记录为已应用的脚本并将其版本号存储在数据库的元数据表 flyway_schema_history中以便下次启动时进行跟踪和管理。 Spring Boot集成Flyway 1、添加依赖 在项目的pom.xml文件中添加Flyway的Maven依赖如果是springboot 2.xx使用5.2.1或5.2.4 dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactIdversion${flyway-core.version}/version/dependency2、数据库连接信息配置 在Spring Boot项目的application.properties或者application.yml文件中配置数据库的连接信息例如 spring.datasource.urljdbc:mysql://localhost:3306/db_example spring.datasource.usernamedbuser spring.datasource.passworddbpass3、Flyway配置 在Spring Boot项目的application.properties或者application.yml文件中进行Flyway的相关配置例如 # Flyway配置 #开启flyway功能默认为true spring.flyway.enabledtrue # 用于存储迁移历史记录的表名默认为flyway_schema_history spring.flyway.tableflyway_schema_history # 迁移脚本编码默认为UTF-8 spring.flyway.encodingUTF-8 # 当迁移数据库存在但没有元数据的表时自动执行基准迁移新建flyway_schema_history表 spring.flyway.baseline-on-migratetrue # 数据库迁移脚本的位置默认为classpath:db/migration spring.flyway.locationsclasspath:db/migration # SQL迁移脚本文件名前缀默认为V spring.flyway.sql-migration-prefixV # SQL迁移脚本文件名后缀默认为.sql spring.flyway.sql-migration-suffixes.sql # 是否在迁移时验证脚本默认为true spring.flyway.validate-on-migratetrue # 检测迁移脚本的路径是否存在默认为true如不存在则抛出异常如果不想抛出异常可设为flase spring.flyway.check-locationfalse # 用于控制是否禁用 Flyway 的 clean 操作。 spring.flyway.clean-disabledtrue大家可以按照自己的需求来进行配置上述配置除了spring.flyway.baseline-on-migrate和spring.flyway.clean-disabled其他都比较见名知义所以下面讲解下 spring.flyway.baseline-on-migrate 当spring.flyway.baseline-on-migrate属性设置为true时Flyway会自动创建一个名为flyway_schema_history的表并将当前数据库的schema版本设置为目前最新的迁移脚本版本。 具体来说这个属性的作用包括 当数据库中不存在迁移历史记录表时Flyway 会自动创建该表并将当前已经存在的数据库对象标记为已迁移状态。当数据库中存在迁移历史记录表但版本号低于最新的迁移脚本版本时Flyway 也会自动创建一个基线版本从而将现有的数据库对象标记为已迁移状态并开始应用最新的迁移脚本。 这样做的目的是确保在已有数据库上使用 Flyway 进行迁移时无论数据库是否已经有迁移历史记录都能够正确地进行迁移操作。这在初始化应用程序时特别有用因为它允许你在部署应用程序到新环境时自动初始化数据库并应用最新的迁移脚本。 spring.flyway.clean-disabled spring.flyway.clean-disabled 用于控制是否禁用 Flyway 的 clean 操作。 clean 操作是 Flyway 的一个功能可以清空数据库中的所有对象比如表、视图、存储过程等以便进行全新的数据库迁移。在开发和测试阶段这可能是有用的因为它可以确保每次都从一个干净的数据库状态开始运行。但在生产环境中执行 clean 操作可能会导致数据丢失因此通常需要禁用它。 4、创建迁移脚本 在项目的src/main/resources/db/migration目录下创建数据库迁移脚本命名规范为V1__Description.sql其中V1是版本号Description是描述。例如可以创建一个V1.1__CreateTable.sql的文件来创建表。 Flyway 的 SQL 脚本命名规则 版本号SQL 脚本的文件名应该以一个版本号开头版本号可以是数字序列或者带有点号分隔的数字序列用来表示数据库结构的变更顺序。例如V1.1__Create_Table.sql 或 V1.2__Add_Column.sql。 描述性名称在版本号之后使用双下划线 __ 分隔并在其后添加描述性的名称用来清晰地表明这个脚本的作用。例如V1__Create_Table.sql 中的 “Create_Table” 就是一个描述性的名称。 根据以上的命名规则Flyway 会按照版本号的顺序依次执行 SQL 脚本。在 SQL 脚本的编写中你可以包含所有标准的 SQL 语句比如 CREATE TABLE、ALTER TABLE、INSERT 等以及适用于特定数据库的特性和语法。 如果我们一个版本下有多个文件那还可以在版本后面使用序号来区分排序 实例V1.1.0版本下001为创建脚本002为更新脚本 V1.1.0_001__create_table.sql V1.1.0_002__insert_table.sqlFlyway 还提供了一种特殊的 SQL 脚本命名规则用于标识可重复执行的 SQL 脚本。这种命名规则是基于前缀 R__ 的方式以大写的“R”开头后面再以两个下划线分割其后跟文件名称最后以.sql结尾 命名规则如下 格式R__描述.sql 示例R__Initialize_Data.sql、R__Cleanup_Data.sql可重复执行的 SQL 脚本指的是可以在任何数据库版本上多次运行而不会造成影响的脚本通常用于执行一些初始化或数据清理等操作。 5、启动项目flyway执行脚本 当我们把spring.flyway.baseline-on-migrate属性设为true的时候第一次启动项目会为我们创建flyway_schema_history表并执行相应的脚本 下面是表的字段说明 installed_rank已安装的迁移脚本的排名从 1 开始。 version迁移脚本的版本号。 description迁移脚本的描述。 type迁移脚本的类型SQL、JAVA 等。 script迁移脚本的文件名。 checksum迁移脚本的校验和。 installed_by安装迁移脚本的用户。 installed_on安装迁移脚本的时间戳。 execution_time执行迁移脚本所需的时间以毫秒为单位。 success表示迁移脚本是否成功安装。说明如果我们是spring.flyway.baseline-on-migratetrue自动生成的flyway_schema_history表那么version字段默认值为1此时的sql脚本必须比1大才会执行比如V1.1V1.1.0V2等如果使用V1命名我们的sql脚本则脚本不会执行
http://www.zqtcl.cn/news/197570/

相关文章:

  • 建网站中企动力推荐网络营销外包总代理
  • 网站怎么续费网站内链检测
  • 织梦网站地图样式中国品牌网站
  • 上海金山区建设局网站临淄信息港发布信息
  • 保定外贸网站建设学生网站建设首页
  • 商城网站备案要求wordpress插件 手机版
  • 北京市网站备案查询石家庄建设信息网必须交费吗
  • 北京优化网站方法四川省建设局网站
  • 怎么做网站能快速赚钱重庆快速建站
  • 河南专业网站建设公司首选培训心得简短200字
  • 销售网站开发业务高端建网站多少钱
  • 几个做ppt的网站知乎青岛高品质网站制作
  • 网站seo插件wordpress模板中文版
  • 夹江移动网站建设手机网站微信登陆
  • 浏阳做网站网易企业邮箱注册官网
  • 东莞网站建设是什么意思自己怎么做企业网站建设
  • 免费的网站申请泰州网站整站优化
  • 毕业设计做企业门户网站过期域名网站
  • 网站建设和风险分析简单网页制作代码模板
  • 照片展示网站那个网站可以做攻略
  • 优秀网站设计赏析万网网站备案多久
  • 网站维护服务有哪些电商网站
  • 部门网站建设总结鼎城网站建设
  • 制作网站的模板下载大型商城购物平台开发
  • wordpress 分类文章置顶整站优化推广品牌
  • 网站手机验证码如何做官方网站在家做兼职
  • 东莞三合一网站制作网站建设 千助
  • 114网站做推广怎么样江苏建设培训网站
  • 如何让网站做网页适配网站上的产品五星怎样做优化
  • 怎么做网站排名优化免费jq网站模板