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

企业网站托管平台有哪些深圳做网站的网络公

企业网站托管平台有哪些,深圳做网站的网络公,门户网站 建设,做新媒体广告的网站文章目录 业务场景参数介绍initSqlsbaselineOnMigratebaselineVersiontargetvalidateOnMigrate SQL注意事项 业务场景 对于生产环境#xff0c;随着项目版本迭代#xff0c;数据库结构也会变动。如果一个项目在多个地方实施部署#xff0c;且版本不一致#xff0c;就需要一… 文章目录 业务场景参数介绍initSqlsbaselineOnMigratebaselineVersiontargetvalidateOnMigrate SQL注意事项 业务场景 对于生产环境随着项目版本迭代数据库结构也会变动。如果一个项目在多个地方实施部署且版本不一致就需要一个方法来管理数据库结构。flyway是个简单易用的轻量级数据库版本管理工具可以让我们像使用 Git 管理代码一样对数据库版本和变动进行详细的记录使用flyway时我们按照版本整理数据库SQL脚本当发布新的项目版本时同时发布SQL变动文件举例说明对于第一个正式版本我们的SQL文件包含数据库表初始化SQL数据的初始化SQL对于第二个版本我们需要数据库表结构变动的SQL。每一个SQL文件都带有版本号在各地实施时会根据基础版本号和schema表里记录的情况自动进行数据库结构校验和更新保持表结构一致。对于新部署的项目没有数据可以不指定初始版本直接从第一个数据库脚本开始执行创建数据库初始化数据一直更新到需要的版本对于已经在运行的项目数据库是已有的里面也有客户的数据不需要走创建数据库和初始化数据的过程。这时候需要设置基础版本的版本号在进行表结构更新时就会忽略之前的版本的SQL文件只执行需要更新的SQL文件 参数介绍 我的flyway的在spring boot应用里的application.yml配置 spring:datasource:type: com.zaxxer.hikari.HikariDataSourceurl: jdbc:postgresql://192.168.x.xx:5432/coreusername: xxxpassword: xxxxxxxhikari:poolName: Hikariauto-commit: falseflyway:enabled: trueschemas: publicencoding: UTF-8locations: classpath:db/migrationsql-migration-prefix: Vsql-migration-separator: __sql-migration-suffixes: .sqltable: flyway_schema_historybaseline-on-migrate: truevalidate-on-migrate: truebaseline-version: 2.0.0.1enabled默认true是否启用flyway设置为trueflyway才会生效locations默认classpath:db/migration迁移脚本的位置schemas由 Flyway 管理的schema的名称区分大小写encoding默认UTF_8SQL 迁移的编码table默认flyway_schema_historyFlyway 将使用的架构历史表的名称。sqlMigrationPrefix默认VSQL 迁移的文件名前缀sqlMigrationSuffixes默认.sqlSQL 迁移的文件名后缀sqlMigrationSeparator默认__SQL 迁移的文件名分隔符repeatableSqlMigrationPrefix默认R可重复 SQL 迁移的文件名前缀cleanDisabled是否禁用数据库清理cleanOnValidationError验证错误时是否自动调用cleanbaselineVersion默认1执行基线时用于标记现有模式的版本target应考虑迁移到的目标版本initSqls获取连接后立即执行初始化连接的 SQL 语句baselineOnMigrate迁移非空schema时是否自动调用基线validateMigrationNaming默认false是否验证脚本不遵守正确命名约定的迁移和回调validateOnMigrate默认true执行迁移时是否自动调用validate下面对于我有使用经验的个人认为比较重要的几个参数详细讲一下。 initSqls 对于初次部署的系统可以使用flyway新建表和初始化数据但是没法新建库一开始想用init-sqls参数建库发现不行一方面在数据库连接参数url里就要指定库名了如果这时候库还没创建连接这个库的时候就会报错了也不会进行下去另一方面postgresql不支持create xx if not exists的用法没法判断库不存在再去创建initSqls参数可以指定一些SQL语句获取连接后立即执行初始化连接的 SQL 语句我没有需要在连接后执行SQL语句的场景暂时未使用此参数 baselineOnMigrate baseline-on-migrate参数迁移非空schema时是否自动调用基线主要是指数据库已存在已经有数据库表和数据此时开始使用flyway管理数据库的场景此时flyway_schema_history表不存在schema一般默认都是public为空时baseline-on-migrate参数就没有意义了为空就直接走创建过程了维护表结构时会首先创建flyway_schema_history表再去逐个执行SQL脚本在判断schema一般默认都是public非空时设值为falseflyway_schema_history表不存在就返回报错 在判断schema一般默认都是public非空时设置为true会去创建flyway_schema_history表然后按照版本号逐个执行SQL文件 baselineVersion baseline-version参数指定基础版本只有大于这个版本的SQL文件才会被检查和执行需要注意的是只有在flyway_schema_history表不存在时baseline-version参数才会生效 当flyway_schema_history表存在时会根据表里的记录继续进行升级baseline-version参数没有意义当schema表存在但表内容为空时baseline-version参数同样没有意义会根据locations的SQL文件逐个版本升级直到最新或者target版本 target 默认是迁移到最新版本不配置时就会根据locations的SQL文件逐个版本升级一直到全部文件执行完成如果指定版本号则迁移到该版本后续版本不升级 validateOnMigrate 默认true执行迁移时自动调用validate对SQL文件进行校验如果已有flyway_schema_history会对里面的记录逐个校验checksum字段的值每个文件会根据文件信息生成一个 checksum 值flyway在SQL文件执行时会在表里插入一条记录包含checksum值当已经同步过的SQL文件发生变动时 checksum 值就会和数据库里的记录对应不上就会校验失败 SQL注意事项 保证SQL能正确执行可以多加些判断建表语句新增字段的语句可以多加一个IF NOT EXISTS CREATE TABLE IF NOT EXISTS public.sys_log (id int8 NOT NULL,op_desc varchar(255) COLLATE pg_catalog.default,op_time timestamp(6),CONSTRAINT sys_log_pkey PRIMARY KEY (id) );ALTER TABLE public.sys_setting ADD COLUMN IF NOT EXISTS enable_scheme_review bool NOT NULL DEFAULT false;删除语句可以多加一个IF EXISTS ALTER TABLE public.wireless_security DROP COLUMN IF EXISTS dev_no; ALTER TABLE public.bayonet DROP CONSTRAINT IF EXISTS fk_bayonet__intersection_id;postgresql不支持create xx if not exists的用法如果是增加外键、唯一键等操作可以尝试先删除后新增保证SQL一定执行成功 ALTER TABLE public.vip_traffic_movement DROP CONSTRAINT IF EXISTS fk_vip_traffic_movement__vip_route_config_id; ALTER TABLE public.vip_traffic_movement ADD CONSTRAINT fk_vip_traffic_movement_vip_route_config_id FOREIGN KEY (vip_route_config_id) REFERENCES public.vip_route_config (id) ON DELETE NO ACTION ON UPDATE NO ACTION;
http://www.hkea.cn/news/14423068/

相关文章:

  • 哪个网站做美食视频网站好wordpress目录地址
  • 上饶商城网站建设网站代码建设 实例
  • 济南外贸网站建站手机端网站排名
  • 陕西省住房建设厅网站北京公司建站模板
  • 在青海省住房和城乡建设厅网站怎么制作微信表情包
  • 失物招领网站开发项目需求分析做分销微商城网站
  • 宣城网站开发百度商桥网站代码去哪里添加
  • 做外汇哪个网站看外国消息专业团队图片张伟
  • 销售网站需要备案么访问wordpress下的子目录
  • 做网站的公司哪家最好长江设计公司
  • 电脑网站你懂我意思正能量php网站开发进程状态
  • 阜阳学校网站建设wordpress 3.6.1
  • 济南网站建设 力选聚搜网络wordpress 个人电脑
  • 网站建设 工作室专业建设包括哪些方面
  • 怎么把别人网站模板下载出来wordpress 做官网
  • 网站app客户端制作wordpress 插件 上传图片
  • 自助建站系统源码下载百度网盟推广
  • 漂亮的网站设计淘宝客 wordpress 主题
  • 手机网站建设讯息如何介绍设计的网站模板
  • 织梦网站版本做网站刷QQ会员网站
  • 著名的深圳网站建设网站做友链
  • 淮南家政网站建设地址做漫画网站 漫画哪找
  • 网站建设如何搞活动企业形象vi设计公司
  • 网站前台模板下载热门国际新闻
  • 福建福清市住房和建设局网站wordpress增加动效
  • 网站后台更新后主页没有变化网站排名推广的优点是什么
  • 上海做网站搜索一下马来西亚的做分销网站系统
  • 新网站建设wordpress迁移跳转原网站
  • 变更备案网站可以访问吗怎么把网站源码
  • 建设论坛网站需要做什么泉州市建设工程