这样的修图神器你玩过没
|
Flyway
Flyway 就是用来解决像这样的数据库迁移的工具,接入了 Flyway 过后,在数据库中会生成一张默认名为flyway_schema_history 的数据表,用来追踪数据库的变化。程序启动的时候 Flyway 都会在文件系统或者 classpath 路径下面寻找迁移脚本。每个迁移脚步都有相应的命名规则,Flyway 会根据文件的版本号进行迁移,每次迁移过后都会在flyway_schema_history 表中插入一条类似如下的记录,记录版本已经对应的脚本文件和校验码等信息: Hello 大家好,我是阿粉,不知道你有没有遇到过这种场景,一套代码部署在不同的环境中,随着时间的过去,各个环境代码有版本差异,代码层面可以通过不同的版本来控制,但是数据库层面经常容易忘记更新! 前言 比如刚开始环境 A 和环境 B 的代码版本是一样的,但是随着版本的迭代,环境 A 的系统一直持续迭代,但是环境 B 的系统由于种种原因没有升级,一直保持在最初的版本。如果某个时候需要对环境 B 的系统进行升级的话,你会发现,中间已经过了好多个版本,各个版本的差距很大,数据库结构有调整,不能直接打包发布,需要把之前所有对环境 A 调整的 SQL 都在环境 B 中执行一遍才行。 这个时候如果 SQL 版本做的好的问题不大,依次执行就行了,但是如果中间有人员离职或者记录缺失,那只能通过对比数据库结构来进行解决了。 数据迁移
前面我们的提到的场景专业的名词叫数据迁移,那为什么会出现数据迁移的场景呢?我从官网截了一张图大家可以看下,虽然说可能跟我实际开发不是一样,但是也差不多类似会出现这种场景,存在多个环境。可以看到虽然我们的代码可以通过版本迭代来控制,但是我们的数据库却不行,很多时候连脚本是否执行过都会忘记,这种事情光靠人记是很难的。 A类网络地址长1 B,其中第一位被保留,余下的7位可用于编址。因此,最多可以有128个A类网络。为什么呢?因为在这7位中,每位的可能取值都为0或1,因此可表示27 ( 128 )个网络。让问题更复杂的是,全0网络地址( 0000 00)被保留用于指定默认路由(参阅表3-4)。另外,地址127被保留用于诊断,你也不能使用,这意味着你只能使用编号1~ 126指定A类网络地址。也就是说,实际可以使用的A类网络地址数为128-2= 126。 注意:IP地址127.0.0.1用于测试一个节点上的IP栈,不能用作主机地址。然而,该环回地址为运行在同一台设备上的TCP/IP 应用程序和服务之间的通信提供了一种快捷方法。 每个A类地址都有3B ( 24位)用于表示机器的节点地址。这意味着有2*( 16777216种组合),因此每个A类网络可使用的节点地址数为16 777 216。由于全0和全1的节点地址被保留,A类网络实际可包含的最大节点数为24-2= 16 777214。无论如何,这在一个网段都是一个很大的主机数目。 A类网络的合法主机ID: 下面的示例演示了如何确定A类网络的合法主机ID。
合法的主机ID为网络地址和广播地址之间的地址: 10.0.0.1~ 10.255.255.254。注意, 0和255不是合法的主机ID。确定合法的主机地址时,只需记住一点: 主机位不能都为零,也不能都为1。 B类地址 在B类地址中,前2 B为网络地址,余下的2B为节点地址,其格式如下: network . network.node. node 例如,在IP地址172.16.30.56 中,网络地址为172.16,节点地址为30.56。 在网络地址为2B (每字节8位)的情况下,有2的16平方种不同的组合,但设计因特网的人规定,所有B类网络地址都必须以二进制数10开头,只留下14位供我们使用,因此有16 384 (2的14次方)个不同的B类网络地址。 B类地址用2 B表示节点地址,因此每个B类网络有2的6次方-2 (两个保留的地址,即全为1和全为0的地址),即65 534个节点地址。 B类网络的合法主机ID: 下面的示例演示了如何确定B类网络的合法主机ID。
合法的主机ID为网络地址和广播地址之间的地址: 172.16.0.1~ 172.16.255.254。 (编辑:阜阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
