java实现数据库内容修改_数据库更改到Java环境中实现可持续和平

java实现数据库内容修改

对我们而言,可持续和平正在消除不确定性。 在这种情况下,由于数据库更改,欢迎使用Ruby的Active Record Migrations 。

迁移对我们意味着什么? 嗯,这是一种方便快捷的方法,可以以一致且简便的方式来改变我们的数据库架构,从而消除了软件开发过程中有关数据库更改的许多不确定性。

目标

我们的目标是根据项目的发展和演变,保持对数据库的生命周期,并对更改进行绝对控制。

为此,我们必须寻找一个具有以下基本特征的简单工具:

  • 尽管现在我们的数据库是MySQL,但可以与任何数据库一起使用。
  • 使并发开发人员能够独立工作。
  • 启用不同的开发环境。
  • 能够与任何版本控制系统集成。
  • 能够轻松地将迁移任务集成到Apache Ant中。
  • 允许向前和向后迁移以及容易管理的冲突。

我们选择MyBatis Migrations工具作为最适合我们的解决方案,并选择GitHub存储库Ant脚本来运行MyBatis Migrations的命令作为起点。

让我们说出重点:我们如何处理迁移

通过这些工具,我们认为迁移的生命周期可能像这样

第一次

  • 在我们的项目目录中创建一个迁移目录。
  • 下载MyBatis Schema迁移文件mybatis-migrations-3.1.1-bundle.zip 。
  • 创建一个lib目录并复制mybatis-3.2.3.jarmybatis-3.2.3.jar mybatis-migrations-3.1.1.jar文件。
  • 从mybatis-migrations-anttasks-master.zip下载Ant任务的build.propertiesbuild.xml文件,并将其重命名为migrations.properties/xml以获得更清晰的目标。
  • 显然,此文件定义了迁移工具的ant任务和基本属性,而migrations.properties (包含注释以清楚地说明)定义了
    # Default environment
    mybatis.default.environment=developmentmybatis.dir=migrations
    mybatis.lib.dir=${mybatis.dir}/libmybatis.repository.dir=${mybatis.dir}/db# This directory contains your migration SQL files. These are the files 
    # that contain your DDL to both upgrade and downgrade your database 
    # structure. By default, the directory will contain the script to 
    # create the changelog table, plus one empty example migration script. 
    mybatis.scripts.dir=${mybatis.repository.dir}/scripts# Place your JDBC driver .jar or .zip files in this directory.
    # Upon running a migration, the drivers will be dynamically loaded.
    mybatis.drivers.dir=${mybatis.repository.dir}/drivers# In the environments folder you will find .properties files that 
    # represent your database instances. By default a development.properties 
    # file is created for you to configure your development time database 
    # properties.
    # You can also create test.properties and production.properties 
    # files. The properties file is self documented.
    mybatis.env.dir=${mybatis.repository.dir}/environments

    migrations.xml定义了ant任务,您可以在原始文档中看到。 当然,您必须将其重命名为xml文件描述符属性才能加载它

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="MyBatis Migrations" basedir="." default="db:migrate:status"><property file="migrations/migrations.properties" />.....
    </project>
  • 但是, 如何安装 ……很容易,基本上我们必须执行以下操作:
    $ ant -f migrations.xml db:migrate:init

    如在此输出日志中所见,它将创建目录和初始文件(如在migrations.properties中定义的一样)。

    Buildfile: /wpr/myproject/migrations/migrations.xmldb:migrate:init:[echo] ** Executing "migrate init" on "development" environment **-------------------------------------------------------------- MyBatis Migrations - init------------------------------------------------------------Initializing: dbCreating: environmentsCreating: scriptsCreating: driversCreating: READMECreating: development.propertiesCreating: bootstrap.sqlCreating: 20131123174059_create_changelog.sqlCreating: 20131123174100_first_migration.sqlDone!-------------------------------------------------------------- MyBatis Migrations SUCCESS-- Total time: 2s-- Finished at: Sat Nov 23 18:41:00 CET 2013-- Final Memory: 1M/117M------------------------------------------------------------.BUILD SUCCESSFUL
    Total time: 3 seconds

    • 环境脚本驱动程序是目录(如前所述)。
  • 保留开发环境的migrations / db / environment / development.properties数据库属性
    ## JDBC connection properties. 
    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/<databaseName>
    username=root
    password=root
  • 如果需要,将其他环境属性文件添加到每个migrations / db / environment / <environment> .properties
  • 最后一步,将您的实际数据库架构放入bootstrap.sql文件中。

日复一日

在我们通常使用的所有迁移命令中

  • 使用db:migrate:new创建一个或多个迁移。
  • 通过db:migrate:up将迁移应用于数据库。

可选步骤包括:

  • 如有必要,请还原迁移以解决冲突。 使用db:migrate:down ..可以轻松解决任何错误,但请记住,仅一步之遥
  • 如果可以安全地使用db:migrate:pending或db:migrate:version来应用挂起的迁移,请按顺序进行。 实际上,如果您想执行这些任务,则必须将代码添加到migrations.xml中
    <?xml version="1.0" encoding="UTF-8"?>
    <project name="MyBatis Migrations" basedir="." default="db:migrate:status">
    ....<!-- $ migrate pending --><target name="db:migrate:pending" description="Runs all pending migrations regardless of their order or position in the status log"><migrate command="pending" environment="${environment}" /></target><!-- $ migrate version --><target name="db:migrate:version" description="Migrate the schema to any specific version"><input addproperty="specific.version" message="Specific version to migrate:" /><migrate command="version" environment="${environment}"><extraarguments><arg value="${specific.version}" /></extraarguments></migrate></target></project>
  • 生成迁移脚本以在您无法控制的环境中“脱机”运行 。
  • 随时通过db:migrate:status获取系统状态 。

希望您发现我们的解决方案有用,欢迎所有评论和对我的英语致歉。

参考: TODOdev博客上的JCG合作伙伴 Sergio Molina将数据库更改转换为Java环境实现了可持续和平 。

翻译自: https://www.javacodegeeks.com/2014/01/sustainable-peace-with-database-changes-into-a-java-environment.html

java实现数据库内容修改

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

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

相关文章

[渝粤教育] 中国地质大学 测试技术 复习题

《测试技术》模拟题 一.单选题 1.在一定条件下RC带通滤波器可看成是低通滤波器与高通滤波器()而成的. A.串联 B.并联 C.串并联 D.叠加 2.半导体式应变片在外力作用下引起其电阻变化的因素主要是(). A.长度 B.截面积 C.电阻率 D.高通 3.倍频程滤波器是一种()滤波器. A.高通 B.…

mysql tls_mysql8 参考手册--加密连接TLS协议和密码

支持的连接TLS协议MySQL支持使用TLSv1&#xff0c;TLSv1.1&#xff0c;TLSv1.2和TLSv1.3协议的加密连接&#xff0c;这些协议按从低到高的顺序列出。实际允许连接的协议集受多种因素影响&#xff1a;MySQL配置。可以在服务器端和客户端上都配置允许的TLS协议&#xff0c;以仅包…

电话光端机和PDH光端机的区别

电话光端机就是把传统的电话信号转换成光信号&#xff0c;可通过光纤传输电话、以太网、音频的设备,让电话信号能够传输的更长距离,而且传输速率上也有很大的提高。电话光端机和PDH光端机用法各不一样&#xff0c;而PDH光端机简单的说是通过光纤来传输E1信号和100M以太网信号。…

[渝粤教育] 中国地质大学 砌体结构设计 复习题 (2)

《砌体结构设计》模拟题 一.单选题 1.砖及砌块是砌筑墙体的主要材料如果需要抗压强度达到MU30的砌筑材料可选择(). A.混凝土空心砌块 B.蒸压灰砂砖 C.烧结多孔砖 D.烧结空心砖 2.水泥是工程建设中常用的水硬性胶凝材料.水泥的类别不同其使用范围也不同.不适用于大体积混凝土…

jcmd,大约JDK 11

NicolasFrnkel最近在博客文章“ 行业工具OpenJDK 11 ”中发布了与OpenJDK 11一起提供的命令行工具的调查。 在那篇文章中&#xff0c;他简要总结了工具jps &#xff08;一个JVM进程状态工具 &#xff09;&#xff0c; jinfo &#xff08;一个JVM配置详细信息 &#xff09;&…

[渝粤教育] 中国地质大学 职业健康管理体系 复习题 (2)

《职业健康管理体系》模拟题 单选题 1.参照ISO10013(GB/T19023-1996)质量手册编写指南建议把OHSMS文件分为()个层次. A.1 B.2 C.3 D.4 2.ISO采取行动在1996年推出ISO14000()体系. A.职业健康安全管理体系 B.质量管理体系 C.环境管理体系 D.安全管理体系 3.ISO采取行动在1994…

android 保存文件_Android 数据库操作框架LitePal使用介绍(一)

在Android开发中&#xff0c;前端开发很多情况数据都是从服务器端获取的&#xff0c;使用本地数据库的情况可能不会太常见。有一些需要本地保存的配置数据&#xff0c;也是使用Hawk框架等本地缓存框架进行保存。但是对于如果是一些需要本地保存的&#xff0c;又是大量的数据时&…

PDH光端机常见故障问题解决方法

在数字通信传输系统中&#xff0c;有两种数字光端机系列&#xff0c;一种叫“准同步数字系列光端机”&#xff08;PlesiochronousDigitalHierarchy&#xff09;&#xff0c;简称PDH光端机&#xff1b;另一种叫“同步数字系列光端机”&#xff08;SynchronousDigitalHierarchy&a…

[渝粤教育] 中国地质大学 运筹学 复习题

《运筹学》模拟题 一.单选题 1.线性规划无可行解是指(). A.进基列系数非正 B.有两个相同的最小比值 C.用大M法求解时最优解中还有非零的人工变量 D.可行域无界 2.甲乙两城市之间存在一公路网络为了判断两小时内能否有9000辆车从甲城到乙城应借助(). A.树的生成法 B.求最大流法…

[渝粤教育] 中国地质大学 高等数学(二) 复习题

《高等数学》模拟题 一.单选题 1.设五次方程有五个不同的实根则方程最多有()个实根. A.5 B.4 C.3 D.2 2.函数在点处连续是在该点处可导的() A.必要但不充分条件 B.充分但不必要条件 C.充要条件 D.无关条件 3.设函数则在点处(). A.连续但不可导 B.连续且 C.连续且 D.不连续 …

2006 mysql_MySQL 2006 超时

原因1. MySQL 服务宕了判断是否属于这个原因的方法很简单&#xff0c;执行以下命令&#xff0c;查看mysql的运行时长$ mysql -uroot -p -e "show global status like uptime;"----------------------| Variable_name | Value |----------------------| Uptime | 6892…

安防监控专用工业交换机与普通交换机的区别

工业交换机即工业以太网交换机&#xff0c;它作用是放到路由器后端&#xff0c;来扩展路由器接口&#xff0c;以解决接口不够用的问题。以太网在设计时&#xff0c;由于其采用载波侦听多路复用冲突检测(CSMA/CD机制)&#xff0c;在复杂的工业环境中应用&#xff0c;其可靠性大大…

J2Pay –简介

介绍 J2Pay是用于Java的开源多网关支付库&#xff08;由tranxactive提供&#xff09;。 该库的主要目标是为多个网关同时提供简单通用的请求/响应&#xff0c;并且它不包括阅读网关文档。 如果您尝试在网关上工作&#xff0c;则不必阅读文档&#xff0c;因为该库具有内置的文档…

[渝粤教育] 西南科技大学 民事诉讼法学 在线考试复习资料

民事诉讼法学——在线考试复习资料 一、单选题 1.对不服裁定的上诉案件,法院经审理后作出裁判时( )。 A.应当使用判决书 B.应当使用裁定书 C.应当使用决定书 D.可以使用调解书 2.关于法院调解的效力说法错误的是( )。 A.结束诉讼程序 B.确认当事人之间的权利义务关系 C.当事人…

[渝粤教育] 西南科技大学 程序设计语言VB 在线考试复习资料(1)

程序设计语言VB——在线考试复习资料 一、单选题 1.列表项选择后得到的选中索引是指()。 A.Value B.ListValue C.Index D.ListIndex 2.为了隐藏一个窗体,所使用的方法为( )。 A.Load B.Show C.Hide D.UnLoad 3.在图片框中加载图形(c:\666.jpg)的方法是( )。 A.Loadpicture(“…

电话光端机与PCM复用设备的区别

电话光端机与PCM复用设备&#xff0c;都是使用标准PCM脉冲编码调制技术&#xff0c;具备滤波功能&#xff0c;使语音通话更清晰稳定&#xff01;设备采用专用数字复接芯片&#xff0c;它将设备中的数字逻辑功能几乎全部集成&#xff0c;从而提高了产品的性能&#xff0c;且每路…

[渝粤教育] 西南科技大学 英美文学 在线考试复习资料

英美文学——在线考试复习资料 一、单选题 1.With Howells, James, and Mark Twain active on the literary scene, ( ) became the major trend in American literature in the seventies and eighties of the 19thcentury. A.sentimentalism B.romanticism C.realism …

选择安防交换机时需要避免哪些误区呢?

安防交换机是专为家庭、学校宿舍、办公室、小型监控等简易网络环境设计&#xff0c;是一种非常常用的一种交换机设备&#xff0c;那么我们在采购安防交换机的时候&#xff0c;是否有很多人都存在误区&#xff0c;造成踩雷&#xff0c;选择到劣质设备&#xff0c;可以说花不少的…

lock mysql unlock_MySQL中的lock tables和unlock tables

MySQL允许客户端会话显式地获取表锁&#xff0c;以便与其他会话协作访问表&#xff0c;或者防止其他会话在其需要独占表时使用表。这个能力就是通过LOCK TABLES和UNLOCK TABLES实现的。LOCK TABLES用于显示的获取表锁&#xff0c;UNLOCK TABLES显式释放当前会话持有的任何表锁。…

[渝粤教育] 西南科技大学 货币银行学 在线考试复习资料(1)

货币银行学——在线考试复习资料 一、单选题 1.最严重的恶性通货膨胀的最终结果是( )。 A.突发性的商品抢购 B.挤兑银行 C.货币制度崩溃 D.投机盛行 2.凯恩斯的货币需求函数非常重视( )。 A.恒久收入的作用 B.货币供应量的作用 C.利率的作用 D.汇率的作用 3.下列西方的中央银…