做网站接项目泰安建设网站公司

pingmian/2026/1/23 3:41:04/文章来源:
做网站接项目,泰安建设网站公司,网站建设服务器需要钱吗,流量主广告点击自助平台假如我们有一个叫shiny的项目#xff0c;它是由一个程序Shiny-Server 和一个数据库 Shiny-DB组成的;简单结构图如下#xff1a;image.png但是很多时候#xff0c;现实开发团队是这样的#xff1a;image.png我们的项目shiny项目的运行环境是有多套的#xff0c;我们擅长解决…假如我们有一个叫shiny的项目它是由一个程序Shiny-Server 和一个数据库 Shiny-DB组成的;简单结构图如下image.png但是很多时候现实开发团队是这样的image.png我们的项目shiny项目的运行环境是有多套的我们擅长解决代码层面的问题。版本控制工具git非常普遍而且好用我们有持续集成和持续构建的工具我们很好的定义了测试和生产环境的发布流程image.png但是我们的数据库的版本如何控制呢image.png当前现状非常不幸的是我们还不能很好的处理数据库的版本管理问题很多的项目依赖运维人员手动的执行SQL脚本有的时候甚至为了快速解决bug去快速的在命令行上执行SQL脚本那么问题来了。通常这些问题的答案是鬼知道。引入目的flyway解决了上面的这些问题。目前Flyway支持的数据库还是挺多的包括Oracle, SQL Server, SQL Azure, DB2, DB2 z/OS,MySQL(including Amazon RDS), MariaDB,Google Cloud SQL, PostgreSQL(including Amazon RDS and Heroku),Redshift, Vertica, H2, Hsql, Derby, SQLite, SAP HANA,solidDB, Sybase ASE and Phoenix。Flyway的执行流程Flyway是一款开源的数据库版本管理工具它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更支持数据库版本自动升级并且有一套默认的规约不需要复杂的配置Migrations可以写成SQL脚本也可以写在Java代码中不仅支持Command Line和Java API还支持Build构建工具和Spring Boot等同时在分布式环境下能够安全可靠地升级数据库同时也支持失败恢复等。Flyway工作流程.png每次不管是数据库的表结构或者表数据的变更你只需要把问题当成一次数据库的升级简单的创建一个比当前版本更高的版本的迁移SQL文件或者Java文件下次Flyway启动的时候他会找到这些脚本并把它更新到数据库。脚本或者Java迁移脚本的命名规则其中的文件名由以下部分组成除了使用默认配置外某些部分还可自定义规则。prefix: 可配置前缀标识默认值V表示VersionedR表示Repeatableversion: 标识版本号由一个或多个数字构成数字之间的分隔符可用点.或下划线_separator: 可配置用于分隔版本标识与描述信息默认为两个下划线__description: 描述信息文字之间可以用下划线或空格分隔suffix: 可配置后续标识默认为.sql实现路径真实项目版本更新场景中我们不可能再基于人力去做这件事情我们选择的是API的方式。使用步骤如下API方式使用Flyway.png一般大家都是写SQL脚本也支持通过写Java代码的方式来实现。Java方式写迁移功能使用步骤Java代码方式写迁移代码.png目前的集成方式使用的是springboot的方式集成了Flyway;COLA引入Flyway的流程.png配置参数可自行翻译和参考选择去配置flyway.baseline-description # The description to tag an existing schema with when executing baseline.flyway.baseline-version1 # Version to start migration.flyway.baseline-on-migratefalse # Whether to execute migration against a non-empty schema with no metadata tableflyway.check-locationfalse # Check that migration scripts location exists.flyway.clean-on-validation-errorfalse # will clean all objects. Warning! Do NOT enable in production!flyway.enabledtrue # Enable flyway.flyway.encodingUTF-8 # The encoding of migrations.flyway.ignore-failed-future-migrationtrue # Ignore future migrations when reading the metadata table.flyway.init-sqls # SQL statements to execute to initialize a connection immediately after obtaining it.flyway.locationsclasspath:db/migration # locations of migrations scripts.flyway.out-of-orderfalse # Allows migrations to be run out of order.flyway.placeholder-prefix # The prefix of every placeholder.flyway.placeholder-replacementtrue # Whether placeholders should be replaced.flyway.placeholder-suffix} # The suffix of every placeholder.flyway.placeholders.* # Placeholders to replace in Sql migrations.flyway.schemas # Default schema of the connection and updatingflyway.sql-migration-prefixV # The file name prefix for Sql migrationsflyway.sql-migration-separator__ # The file name separator for Sql migrationsflyway.sql-migration-suffix.sql # The file name suffix for Sql migrationsflyway.tableschema_version # The name of Flyways metadata table.flyway.url # JDBC url of the database to migrate. If not set, the primary configured data source is used.flyway.user # Login user of the database to migrate. If not set, use spring.datasource.username value.flyway.password # JDBC password if you want Flyway to create its own DataSource.flyway.validate-on-migratetrue # Validate sql migration CRC32 checksum in classpath.package db.migration;/*** author carter* create_date 2020/8/13 17:39* description java数据库变更模板代码*/import lombok.extern.slf4j.Slf4j;import org.flywaydb.core.api.migration.BaseJavaMigration;import org.flywaydb.core.api.migration.Context;import java.sql.ResultSet;import java.sql.Statement;Slf4jpublic class V2__test extends BaseJavaMigration {Overridepublic void migrate(Context context) throws Exception {try (Statement select context.getConnection().createStatement()) {try (ResultSet rows select.executeQuery(SELECT 1)) {while (rows.next()) {int id rows.getInt(1);String anonymizedName Anonymous id;log.info(执行sql脚本:{},anonymizedName);}}}}}资料来源如有问题请留言。原创不易关注诚可贵转发价更高转载请注明出处让我们互通有无共同进步欢迎沟通交流。我会持续分享Java软件编程知识和程序员发展职业之路欢迎关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站的留言板怎么做做足球采集软件和预测软件的网站

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

南京高端网站建设哪家好宣传片制作公司宣传文案

1.项目背景及意义 项目背景: 随着人们生活水平的提高,汽车租赁服务在城市中变得越来越普及。传统的租车方式存在一些问题,比如租车流程繁琐、费用不透明、选择有限等。因此,开发一款基于uni-app的汽车租赁app成为了满足用户需求…

企业公司网站制作黑龙江网站建设业务

WebTours启动VUG脚本录制脚本删除运行回放脚本增强1:事务插入2:插入集合点3:插入检查点4:参数化5:打印日志 WebTours启动 WebTours系统:LoadRunner自带的系统;为了让用户能熟悉它这个工具&…

now9999网站提示建设中wordpress 侧边栏宽度

加密市场即将进入第三季度交易的最后阶段,由于9月份被视为是比特币的下跌时期,大多数投资者都预测加密货币之王将会进一步下跌。然而,事情却发生了逆转,灰度突如其来的胜利是否会打破“九月魔咒”? 受该事件影响&#…

网站开发要多钱装修设计公司服务

本文作者至简曾在 2018 QCon 上海站以《Service Mesh 的本质、价值和应用探索》为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是“借力开源、反哺开源”,也讲到了 Service Mesh 在阿里巴巴的发路径将经历以下三大阶段: 撬动做透价…

容县建设工程交易中心网站建个人网站做导购怎么备案

详情点击公众号链接:基于当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估中的应用及论文写作、拓展分析 前言 生态系统服务是人类从自然界中获得的直接或间接惠益,可分为供给服务、文化服务、调节服务和支持服务4类&#xf…

电子商务网站建设要多少钱天元建设集团有限公司 田新鹏

Hey,各位爬友们!作为一名专业的爬虫HTTP代理提供者,今天我要和大家聊一聊动态HTTP代理与竞争情报收集之间的关联。在这篇文章中,我将向大家解释怎么使用动态HTTP代理完成在竞争中的情报收集,并分享一些实用的技巧。 首…

大良网站建设市场企业建设项目哪个网站可以查

最近需要写一个评论区功能,所以打算仿照抖音做一个评论功能,支持展开和收起, 首先我们需要对功能做一个拆解,评论区功能,两个模块,一个是发表评论模块,一个是评论展示区。接下来对这两个模块进行…

最火爆的国际贸易网站网站运营方案 网站建设

Happy Number 题意 &#xff1a; 开心数是由仅由2&#xff0c;3&#xff0c;6组成的&#xff0c;问第n个开心数是哪个&#xff1f; 1<n<1e9 题解&#xff1a; 正解应该是&#xff1a; 首先确定k大数有几位&#xff1a; 然后就知道k大数是x位下的第k’大的 把2看成0&a…

成都科技网站建设电话多少钱中冶东北建设网站

使用Selenium进行自动化测试一直是将萌芽的自动化测试人员培养为专业人员的生命线。 硒是开源的&#xff0c;在全球范围内被广泛采用。 结果&#xff0c;您会得到社区的大力支持。 有多种用于不同语言的框架&#xff0c;这些框架提供与Selenium的绑定。 因此&#xff0c;您已经…

网站标签化自学ui设计需要哪些资料

http://blog.csdn.net/GarfieldEr007/article/details/50151845 第十二章 小波变换 目录 1 引言 2 连续小波变换 3 二进小波变换 3.1 Haar变换 4 离散小波变换 4.1 多分辨率分析 4.2 快速小波变换算法 4.3 离散小波变换的…

如何开微信小程序店铺门户网站优化

作为家长&#xff0c;你是否经常为孩子的健康担忧&#xff0c;也一直在寻找一种可以与孩子一起运动、记录运动数据并让孩子产生对运动感兴趣的设备&#xff1f; 那不妨试试华为儿童手表&#xff0c;一款拥有专业的运动模式的智能手表。孩子只需简单操作手表&#xff0c;就能开…

迅雷资源做下载网站python网站开发流程图

密码是每个人最私密的东西&#xff0c;轻易是不会展示给他人的&#xff0c;那么我如何能知道你电脑上浏览器里保存的密码呢&#xff1f;浏览器是大家在网上冲浪最常用的软件&#xff0c;在登录一些网站填写账号密码后&#xff0c;浏览器为了方便大家使用&#xff0c;会提示是否…

拍拍网的网站建设制作网站代码吗

人工智能早已不再被视为未来科技&#xff0c;而是越来越多地应用在时下人们的生活之中。根据DECO PROTESTE的调查&#xff0c;大约72%的葡萄牙人认为人工智能已经活跃于他们的日常。[1] 随着ChatGPT对各个行业的影响&#xff0c;也引发了人们关于这种人工智能模型潜力的争论&a…

做外贸的网站平台有哪些广西城乡建设部网站

技术咨询:wulianjishu666 上午:UDP网络编程 下午:UDP聊天程序的设计、select超时控制 教学内容: 1、udp和tcp都是在传输层上的协议,它们的区别 UDP协议与TCP协议的差异: TCP:面向连接,可靠 UDP:无连接,不可靠 ----------------------- UDP协议的优势: 支持…

网站建设和维护pdf驻马店市旅游网站建设

在前端开发中&#xff0c;表单是非常常见的交互组件之一。为了实现表单数据的双向绑定和验证&#xff0c;Vue提供了一些强大的功能和方法。以下将详细介绍Vue中如何处理表单数据的双向绑定和验证&#xff0c;并提供具体的代码示例&#xff0c;以帮助读者更好地掌握这方面的知识…

如何做网站么最好的网站设计公司源码 php

https://www.ghostxpsp3.net/czxtjc/12280.html 对于没有U盘系统和光驱的用户来说&#xff0c;使用硬盘安装系统&#xff0c;无疑是最好的解决方案。今天笔者教你如何一步步从硬盘安装win10系统&#xff0c;笔者教你如何一步步从硬盘安装win10系统要保证在能进入系统的前提下进…

宏大建设集团有限公司网站wordpress 导航 防刷新

1、安装插件 打开vscode&#xff0c;选择扩展&#xff0c;搜索leetcode&#xff0c;选择第一个&#xff0c;带有中文力扣字样&#xff0c;安装后重启 2、切换 选择这个小球&#xff0c;切换中文版本&#xff0c;切换后&#xff0c;会显示一个打勾 3、 选择小球旁边的有箭…

移动手机号码网站90设计网图片

前向传播神经网络搭建 1.tensorflow库搭建神经网络 参数&#xff1a;线上的权重W&#xff0c;用变量表示&#xff0c;随机给初值。相关介绍 tf.truncated_normal():去掉过大偏离点的正太分布tf.random_normal()正太分布tf.random_uniform():平均分布tf.zeros:全零数组&#x…