我在相同的helper中进行了一些迁移
private
def add_earthdistance_index table_name, options = {}
execute "CREATE INDEX %s_earthdistance_ix ON %s USING gist (ll_to_earth(%s, %s));" %
[table_name, table_name, 'latitude', 'longitude']
end
def remove_earthdistance_index table_name
execute "DROP INDEX %s_earthdistance_ix;" % [table_name]
end
我尽量避免每次都复制粘贴它们。有没有办法在迁移之间共享代码,而不用猴子修补基类?我想为模型找到类似concerns
的东西。
2条答案
按热度按时间fzsnzjdm1#
将
config.autoload_paths += Dir["#{config.root}/db/migrate/concerns/**/"]
加到config/application.rb
在以下位置创建
db/migrate/concerns/earthdistanceable.rb
文件使用它:
huus2vyu2#
我认为你可以这样做:
迁移