Rails 扩展 ActiveRecord::Migration,添加自定义 column 或者修改默认 column 行为

siriuszhuang · February 22, 2014 · Last by siriuszhuang replied at February 25, 2014 · 2129 hits

最近需要自定义一些特殊字段,不想修改 migration 文件。想通过扩展ActiveRecord::Migration的方式实现,添加自定义 column 或者修改默认 column 的创建行为。

不知道最好的办法是什么。

P.S. 之前好像在一个地方看到过关于扩展ActiveRecord::Migration的文章。找了半天没有找到。

在 Migration 里面执行 SQL 不能到达这个目的么?

#1 楼 @huacnlee 可以的。但是因为是想要修改主键策略,所以想用一个统一的方式处理的更优雅一些。

#1 楼 @huacnlee 我找到了一些资料,可以在environment.rb中重写掉ActiveRecord::ConnectionAdapters::SchemaStatements中的native_database_types方法或者NATIVE_DATABASE_TYPES静态变量(传送门 gist),以支持更多自定义数据类型以及重写掉默认的数据类型。

但我运行rake任务的时候,貌似没有生效。

You need to Sign in before reply, if you don't have an account, please Sign up first.