040_attach_content_to_blog.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:1k
源码类别:

Ajax

开发平台:

Others

  1. class AttachContentToBlog < ActiveRecord::Migration
  2.   class BareContent < ActiveRecord::Base
  3.     include BareMigration
  4.   end
  5.   class BareBlog < ActiveRecord::Base
  6.     include BareMigration
  7.   end
  8.   def self.up
  9.     begin
  10.       add_column :contents, :blog_id, :integer
  11.       blog_id = BareBlog.find(:first).id
  12.       BareContent.find(:all).each {|c| c.blog_id = blog_id; c.save! }
  13.       change_column :contents, :blog_id, :integer, :null => false
  14.       add_index :contents, :blog_id
  15.     rescue Exception => e
  16.       remove_index :contents, :blog_id rescue nil
  17.       remove_column :contents, :blog_id rescue nil
  18.       raise e
  19.     end
  20.   end
  21.   def self.down
  22.     remove_index :contents, :blog_id
  23.     remove_column :contents, :blog_id
  24.   end
  25. end