浏览 2769 次
锁定老帖子 主题:ibatis migration 的使用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-09
最后修改:2009-12-09
由于没有网上相册。我做成了附图的word文档,以附件上传。 1. 下载ibatis工具包。解压。配置环境变量,将Ibatis加入path下面。 2. 创建Ibatis Migration工作目录。如:D://MigrationWork. 3. 在工作目录打开Cmd.执行migrate命令 4. 常用的参数有:init,用于初始化工作目录, bootstrap,用于初始化执行bootstrap.sql中的数据库创建脚本(后文祥述) new,用于创建新的日志文件记录对表结构的变更操作。 up,用于执行所有的已创建日志文件中的SQL语句。 Down,用于撤销最近一次的数据库表结构变更操作。 Status,列出所有的数据库表结构变更记录。 Version,用于撤销到指定记录号的历史变更点。 Pending,用于执行历史日志中标记为pending的操作。和up不同的是,此语句不是顺序执行的。 5. 第一次运行时,执行migrate init命令,会在工作目录下生成drivers,enviroments,scripts,三个文件夹。 Drivers,用于存放jdbc驱动文件。 Environments目录下有一个development.properties资源文件。 各配置项按照对应数据库来设置即可。后五项保持为默认值无变化。注意由于驱动版本的不同,driver对应的包结构也可能不同,driver的值必须与上层drivers目录下的驱动版本一致。 6. 执行migrate init: 其中create changelog.sql为用于在数据库中创建操作变更日志SQL。 First_migration.sql无实际意义。 并且将驱动文件放入drivers目录中,配置environment目录下的配置文件。 接下来。若是在已存在的数据库脚本基础上添加版本管理。可将脚本写入到scripts下的bootstrap.sql中,并执行migrate bootstrap来执行创建数据库脚本。 若数据库已纳入版本管理,或是新建的数据库可执行如下命令: Migrate new “XXXXXX”:此命令会在scripts目录下创建名为“当前日期+XXXXXX.sql”文件。 文件结构: 在前面的空白处写入你的创建数据库表的脚本。在后面@UNDO标签后面,写入删除数据库表的脚本。然后在命令行执行 migrate status命令 可以看到当前scripts目录下所有的脚本文件。 Pending表示尚未执行的状态。通过运行 migrate up,可以执行所有状态为pending脚本 而在数据库中也会创建相应的表, Changelog为记录日志。 当我们再执行migrate status,会看到如下效果: 之前标记为pending的现在全都是时间戳。 执行migrate down,会回退前一步的操作。执行migrate version <id>会执行标记ID的操作。 若在scripts目录下按照格式创建.sql文件,执行migrate status命令,也会将其纳入 历史控制之中。 这也使通过svn等版本控制工具,来实现数据库表结构的版本管理成为可能。 与ibatis migration类似的数据库版本管理工具还有dbdeploy。有兴趣的同学可以google下进行研究。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |