Sha256: 277d67512c4a274f77d5bf1ef8d4ec47f53b4c3564ab94138ca43f5125c2af05

Contents?: true

Size: 740 Bytes

Versions: 10

Compression:

Stored size: 740 Bytes

Contents

class AddArticleUserId < ActiveRecord::Migration
  class BareArticle < ActiveRecord::Base
    include BareMigration
  end

  class BareUser < ActiveRecord::Base
    include BareMigration
  end

  def self.up
    STDERR.puts "Linking article authors to users"
    modify_tables_and_update(:add_column, BareArticle, :user_id, :integer) do |art|
      art.user_id = (BareUser.find_by_name(art.author).id rescue nil)
    end
    user_first = BareUser.first
    if user_first.nil?
      user_id = 1
    else
      user_id = user_first.id
    end

    BareArticle.find(:all, :conditions => 'user_id IS NULL').each do |art|
      art.user_id = user_id
      art.save!
    end
  end

  def self.down
    remove_column :articles, :user_id
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
typo-5.5 db/migrate/003_add_article_user_id.rb
typo-5.4.4 db/migrate/003_add_article_user_id.rb
typo-5.4.3 db/migrate/003_add_article_user_id.rb
typo-5.4.2 db/migrate/003_add_article_user_id.rb
typo-5.4.1 db/migrate/003_add_article_user_id.rb
typo-5.4 db/migrate/003_add_article_user_id.rb
typo-5.1.98 db/migrate/003_add_article_user_id.rb
typo-5.2.98 db/migrate/003_add_article_user_id.rb
typo-5.2 db/migrate/003_add_article_user_id.rb
typo-5.3 db/migrate/003_add_article_user_id.rb