公司产品升级降级比较严格, 以前有一套自定义格式, 格式很不好理解, 也很容易出错.
羡慕Rails里面的ActiveRecord:Migration的优雅升级/降级方案, 一直想引入项目中...
Google一番之后, 发现C#已经有两个实现: RikMigrations和Migrator.NET. 参见http://www.infoq.com/cn/news/2009/01/migrations_dotnet
可是Java世界里好像没人喜欢这玩意, JActiveRecord仅仅实现了ActiveRecord的基本功能...是不是大家都在用更好的API?
redmine中升级降级的序列:
http://www.redmine.org/projects/redmine/repository/show/trunk/db/migrate
redmine中一个版本的升级降级例子:
http://www.redmine.org/projects/redmine/repository/entry/trunk/db/migrate/007_create_journals.rb
里面直接用api创建表,索引, 插入数据,修改/删除数据.
将及时是个反过程, 很简单直观.
如果用Java实现, 字段可以根据pojo生成常量/枚举列表, 更容易操作, 避免出错.
另外, 这种升级机制, 甚至可以扩展到对文件系统/进程的操作, 对于严谨的产品, 是个很好的升降级方案.
分享到:
相关推荐
该项目是采用Java语言实现的Ruby on Rails ActiveRecord设计理念的源码,总计包含46个文件,...该设计旨在通过Java语言实现类似于Ruby on Rails框架的ActiveRecord模式,以提供数据库操作的高级抽象和简化数据访问。
在Java世界里,虽然Hibernate和JPA等框架已经非常成熟,但Ruby on Rails(ROR)中的ActiveRecord模式也受到了不少Java开发者的青睐,并有了一些移植到Java平台的实现。 ActiveRecord是一种对象关系映射(ORM)模式...
《Pro ActiveRecord Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord框架来高效地处理Ruby on Rails中的数据库操作。本书由Kevin Marshall、Chad Pytel和Jon Yurek共同撰写,他们都是在Ruby与...
基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip 基于java的开发源码-Rails3消息队列系统 Sidekiq.zip ...
Ruby on Rails,简称Rails,是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本篇将通过一个入门实例,深入探讨Rails的基本概念和核心...
Rails 3.1 及以后版本的 ...总的来说,Rails 3 的 ActiveRecord 查询API引入了一种更模块化、更面向对象的方式来处理数据库查询,提高了代码的可读性和可维护性。开发者应逐渐适应并采用新的API,以充分利用其优势。
Java的ActiveRecord框架是基于对象关系映射(ORM)的一种实现,它借鉴了Ruby on Rails中的ActiveRecord概念,使得在Java开发中可以更加方便地处理数据库操作。这个框架的主要目标是简化数据库操作,通过将数据库记录...
在Ruby on Rails框架中,数据库配置是至关重要的部分,它允许开发者与各种数据库系统进行交互,如MySQL、Microsoft SQL Server等。以下将详细介绍如何在Windows环境下安装Ruby on Rails以及配置数据库。 首先,我们...
Multiverse是针对ActiveRecord的一个扩展,旨在解决Rails在处理多个数据库时的管理问题。默认情况下,Rails仅支持单个主数据库,但Multiverse允许开发者定义和管理多个数据库,使数据分片和扩展变得更加简单。 在...
### Ruby on Rails中的ActiveRecord编程指南 #### 一、引言 在Ruby on Rails框架中,ActiveRecord是一种用于实现数据库抽象层的对象关系映射(ORM)工具。它为开发人员提供了一种简单而强大的方式来处理数据库记录...
《Pro ActiveRecord:Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord这一对象关系映射(Object Relational Mapping, ORM)工具来管理和操作数据库,特别是在Ruby on Rails框架中的应用。...
通常,较新的Rails版本支持较新的MySQL版本,但旧版本的Rails可能需要降级MySQL或升级Rails以解决问题。 总结来说,解决Rails与MySQL连接问题涉及检查配置文件、安装和更新依赖、确保系统库完整、确认服务状态和...
没有Rails的ActiveRecord 只是在没有Rails的情况下使用ActiveRecord迁移的简单示例您可以执行的任务: rake db:create rake db:migrate rake db:dropRails 5+的注意事项请注意,即使使用Rails 5,您也需要rake db:...
userstamp, 这个 Rails 插件扩展ActiveRecord Userstamp插件( v-2.0 )概述Userstamp插件扩展了 ActiveRecord::Base,以添加对'创建者','更新程序'和'deleter'属性的自动更新。 它是基于 ActiveRecord::Timesta
这个应用程序的目的是更深入地了解 Rails 和 ActiveRecord 的工作原理,特别是路由如何与控制器集成,模型如何与数据库交互,以及 ActiveRecord 如何将关联转换为 SQL 查询。 特征 RESTful 路由 CSRF 认证。 ...
在Ruby on Rails框架中,ActiveRecord是一个至关重要的组件,它负责模型(Model)与数据库之间的交互。本实例将深入探讨ActiveRecord的基本用法,帮助理解如何在实际开发中有效地运用这个强大的工具。 首先,让我们...
数组元素支持对象:ActiveRecord,Mongid,哈希。 在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git => "git://github....
Ruby on Rails:ActiveRecord模型操作教程.docx
8. **Rake任务**:Rake是Ruby的构建工具,类似于Java的Ant或Python的setup.py,`rake db:migrate`命令常用于执行数据库迁移。 9. **测试驱动开发(TDD)**:Rails鼓励TDD,书中可能包含测试代码,如使用RSpec或Test::...
用于多租户数据库的ActiveRecord / Rails集成,尤其是PostgreSQL开源扩展。 通过将租户上下文添加到查询中,可以轻松进行横向扩展,使数据库(例如Citus)可以将查询有效地路由到正确的数据库节点。 安装 将以下...