Sha256: bd2e0c9c519be8fde9a99e60f2bb4f7dc386e91371e9f773200bd0ff02cd0265

Contents?: true

Size: 1.24 KB

Versions: 13

Compression:

Stored size: 1.24 KB

Contents

class CreateParticipation < ActiveRecord::Migration
  def self.up
    create_table(:participations, :options => Zena::Db.table_options) do |t|
      t.column :user_id, :integer
      t.column :site_id, :integer
      t.column :status, :integer
      t.column :contact_id, :integer
    end
    values = select_all("SELECT * FROM sites_users").map do |r|
      "(#{['user_id','site_id','status','contact_id'].map {|k| quote(r[k])}.join(', ')})"
    end
    execute "INSERT INTO participations (`user_id`,`site_id`,`status`,`contact_id`) VALUES #{values.join(', ')}" unless values == []
    Zena::Db.add_unique_key('participations', 'user_id,site_id')
    drop_table :sites_users
  end

  def self.down
    create_table(:sites_users, :id=>false,:options => Zena::Db.table_options) do |t|
      t.column :user_id, :integer
      t.column :site_id, :integer
      t.column :status, :integer
      t.column :contact_id, :integer
    end
    values = select_all("SELECT * FROM participations").map do |r|
      "(#{['user_id','site_id','status','contact_id'].map {|k| quote(r[k])}.join(', ')})"
    end
    execute "INSERT INTO sites_users (`user_id`,`site_id`,`status`,`contact_id`) VALUES #{values.join(', ')}" unless values == []
    drop_table :participations
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
zena-0.16.9 db/migrate/020_create_participation.rb
zena-0.16.8 db/migrate/020_create_participation.rb
zena-0.16.7 db/migrate/020_create_participation.rb
zena-0.16.6 db/migrate/020_create_participation.rb
zena-0.16.5 db/migrate/020_create_participation.rb
zena-0.16.4 db/migrate/020_create_participation.rb
zena-0.16.3 db/migrate/020_create_participation.rb
zena-0.16.2 db/migrate/020_create_participation.rb
zena-0.16.1 db/migrate/020_create_participation.rb
zena-0.16.0 db/migrate/020_create_participation.rb
zena-0.15.2 db/migrate/020_create_participation.rb
zena-0.15.1 db/migrate/020_create_participation.rb
zena-0.15.0 db/migrate/020_create_participation.rb