作为我在运行测试时不重新加载巨大的持久表的早期问题的后续内容,我需要在运行迁移时将此表保留在schema.rb之外.这个表直接从mysqldump加载,所以我不担心跟踪它.
那么,如何从schema.rb中保留一个特定的表?
Tar*_*rek 35
事实证明,这种情况有一个选择!
我发现它activerecord-2.3.4/lib/active_record/schema_dumper.rb:
##
# :singleton-method:
# A list of tables which should not be dumped to the schema.
# Acceptable values are strings as well as regexp.
# This setting is only used if ActiveRecord::Base.schema_format == :ruby
cattr_accessor :ignore_tables
@@ignore_tables = []
Run Code Online (Sandbox Code Playgroud)
所以我所要做的就是在环境结束时坚持这个.rb:
ActiveRecord::SchemaDumper.ignore_tables = ["table_name"]
Run Code Online (Sandbox Code Playgroud)
该ignore_tables选项将接受正则表达式.例如,要忽略以"MS"开头的所有表:
ActiveRecord::SchemaDumper.ignore_tables = [/^MS/]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1828 次 |
| 最近记录: |