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

做php网站需要什么软件开发完美网站建设

做php网站需要什么软件开发,完美网站建设,外包公司劳动合同,wordpress头部信息Flyway 一、 介绍 通过版本化数据库#xff0c;提高数据库迁移的可靠性。即启动项目时就按版本执行sql脚本#xff0c;实现数据库自动迁移。 Flyway是一款开源的数据库版本管理工具#xff0c;它能够实现数据库迁移和版本控制。Flyway通过SQL脚本或Java代码进行数据库变更…Flyway 一、 介绍 通过版本化数据库提高数据库迁移的可靠性。即启动项目时就按版本执行sql脚本实现数据库自动迁移。 Flyway是一款开源的数据库版本管理工具它能够实现数据库迁移和版本控制。Flyway通过SQL脚本或Java代码进行数据库变更支持多种数据库如MySQL、Oracle、SQL Server等。它可以帮助团队更加方便、合理地管理数据库变更实现数据库的自动化迁移、备份和还原等操作 官网https://flywaydb.org/ github: https://github.com/flyway/flyway 官方文档https://documentation.red-gate.com/flyway/quickstart-how-flyway-works 二、 原理 初次运行Flyway时flyway会在数据库中创建flyway_schema_history表用于记录schema的变化记录如果数据库不是空库且配置项baseline-on-migratetrue表中会初始化一条数据代表初始的数据库状态typebaseline即基线库 flyway扫描应用程序下的脚本进行执行脚本可以是Sql脚本或者java脚本执行时会按照版本号排序按从小到大执行每执行一个脚本就会在flyway_schema_history表插入一条记录记录版本、描述、类型、脚本名称、校验和、安装人、安装时间、执行耗时、成功否有了新的数据库变化写入新的sql脚本运行flywayflyway会再次扫描脚本文件和数据库flyway_schema_history中的记录做对比并检查已经执行过的脚本的校验和如果和数据库记录不一致则抛出异常即已经执行过的脚本不能修改校验和没问题则把没执行过的且版本号大于最后执行记录版本的脚本排序依次执行没执行过但版本号小于记录版本的也不会执行 按照flyway执行逻辑仅需要维护数据库创建脚本以及后续的更新脚本即可记录数据库的整个生命周期到新环境部署也没有任何问题 三、SpringBoot集成mysql数据库 3.1 pom 核心依赖包 dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactId /dependency全量基础依赖有的版本需要引入flyway-mysql的包 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.22/version/dependencydependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactId/dependencydependencygroupIdorg.flywaydb/groupIdartifactIdflyway-mysql/artifactId/dependency/dependencies3.2 编写脚本文件 脚本位置 默认在resouces/db/migration下脚本命名规则 Vversion__description.sql 前缀Prefix V表示这是一个有版本号的数据库迁移脚本。U表示这是一个用于回滚特定版本的数据库迁移脚本不是所有Flyway版本都支持U前缀。R表示这是一个可重复运行的迁移脚本它会在每次迁移时运行无论其是否已经运行过。B基线迁移 版本号Version 紧跟在前缀后面的是版本号它用于确定迁移脚本的执行顺序。 版本号通常采用主版本号.次版本号.修订版本号的格式例如1.0.0。 Flyway会根据版本号的大小顺序来执行数据库迁移脚本。 分隔符Separator 在版本号和描述之间通常使用双下划线__作为分隔符。 描述Description 描述字段用于简要说明迁移脚本的作用或内容。 描述可以是任何字符串但为了清晰起见建议使用下划线_或空格进行分隔。 后缀Suffix 表示这是一个SQL文件因此后缀应为.sql。 示例 V1.0.0__Create_user_table.sql表示一个版本号为1.0.0的迁移脚本用于创建用户表。R__Reset_data.sql表示一个可重复运行的迁移脚本用于重置数据。 正常配置spring的数据库链接启动项目即可项目每次启动都会检查并执行脚本 注意baseline-on-migrate 默认情况下是false, 表示没有flyway_schema_history 表时仅接受空库。 四、SpringBoot中Flyway的配置 spring已经给定了一套默认值一般不需要进行单独配置,如需修改的可参照一下进行 # flyway 配置 spring:flyway:# 启用或禁用 flywayenabled: true# flyway 的 clean 命令会删除指定 schema 下的所有 table, 生产务必禁掉。这个默认值是 false 理论上作为默认配置是不科学的。clean-disabled: true# SQL 脚本的目录,多个路径使用逗号分隔 默认值 classpath:db/migrationlocations: classpath:db/migration# metadata 版本控制信息表 默认 flyway_schema_historytable: flyway_schema_history# 如果没有 flyway_schema_history 这个 metadata 表 在执行 flyway migrate 命令之前, 必须先执行 flyway baseline 命令# 设置为 true 后 flyway 将在需要 baseline 的时候, 自动执行一次 baseline。baseline-on-migrate: true# 指定 baseline 的版本号,默认值为 1, 低于该版本号的 SQL 文件, migrate 时会被忽略baseline-version: 1# 字符编码 默认 UTF-8encoding: UTF-8out-of-order: false# 需要 flyway 管控的 schema list,这里我们配置为flyway 缺省的话, 使用spring.datasource.url 配置的那个 schema,# 可以指定多个schema, 但仅会在第一个schema下建立 metadata 表, 也仅在第一个schema应用migration sql 脚本.# 但flyway Clean 命令会依次在这些schema下都执行一遍. 所以 确保生产 spring.flyway.clean-disabled 为 trueschemas: tests# 执行迁移时是否自动调用验证 validate-on-migrate: true五、基线迁移 在实际使用过程中数据库的更新脚本可能会越来越多这个时候当我们要部署新环境时就需要从头把所有脚本都执行一边太耗时间为解决此问题flyway引入基线迁移。创建基线迁移脚本 Bversion__description.sql 示例B2.0.1__20240516.sql 在原来环境中基线脚本会被忽略在新环境中基线脚本才起作用即当没有flyway_schema_history表时会找到最新的基线脚本即版本号最大的执行该脚本并顺序执行版本号大于基线版本的其他迁移脚本。
http://www.hkea.cn/news/14565336/

相关文章:

  • 腾讯公司做的购物网站看室内设计案例的网站
  • 网站建设的广告词asp.net网站创建浏览器快捷图标
  • 淄博网站建设有限公司网站建设必须安装程序
  • 怎样申请建立自助网站长沙建一个网站大概要多少钱
  • 上街免费网站建设火星建站和八亿建站
  • 网站服务理念微博短网址生成
  • 商梦建站品牌策划公司和品牌设计公司
  • 公司百度网站怎么做wordpress视频多集播放
  • 南宁网站定制团队商品分类标准
  • 上海网站推广软件计算机网络技术 网站建设
  • 苏州营销型网站制作给网站做seo的必要性
  • 乐至县建设局网站邮箱怎么上传wordpress
  • 建网站有多少种方式中昌国际建设集团网站
  • 网站开发实现的环境天津网站建设要多少钱
  • 辽宁网站建设排名宿迁网站建设sq918
  • 网站的销售怎么做android应用开发软件
  • 网站优化注意事项有空间站的国家
  • 青岛菜西有做网站的吗网站建设前期规划
  • 电子商务网站建设任务分解一个网站策划需要多少钱
  • 时尚网站首页设计织梦cms网站更新
  • 监控做直播网站陕西seo经理
  • 重庆 建站 价格网站建设企业谁家好
  • 怎么利用网站做兼职手表网站错误怎么办
  • 网页模板建站系统在线制作logo图标软件
  • 网红营销网站psd做模板下载网站
  • 给网站设置关键词小程序源码网
  • 企业oa网站建设方案做网站的群
  • 深圳企业网站制作公司查询网站建设与维护 唐清安
  • 怎么开发网站程序品牌营销经典案例
  • 长沙网站开发方案途牛网站建设策划书