Sha256: 91f678e5929b83bfa9c1d7efbbcc0c8995292c8b4cb5a77461d2416dd850cab6

Contents?: true

Size: 1.7 KB

Versions: 1

Compression:

Stored size: 1.7 KB

Contents

class CreateArpaTables < ActiveRecord::Migration
  def change

    create_table :repository_resources, :force => true do |t|
      t.string :name
      t.string :full_name
      t.timestamps null: false
    end

    create_table :repository_actions, :force => true do |t|
      t.string :name
      t.references :repository_resource, index: true
      t.timestamps null: false
    end

    add_foreign_key :repository_actions, :repository_resources

    create_table :repository_roles, :force => true do |t|
      t.string :name
      t.string :description
      t.boolean :removed, default: false
      t.timestamps null: false
    end

    create_join_table :repository_actions, :repository_roles, :force => true do |t|
      t.index :repository_action_id, name: 'action_role_id'
      t.index :repository_role_id, name: 'role_action_id'
    end

    create_table :repository_profiles, :force => true do |t|
      t.string :name
      t.string :description
      t.boolean :removed, default: false
      t.timestamps null: false
    end

    create_join_table :repository_roles, :repository_profiles, :force => true do |t|
      t.index :repository_role_id, name: 'role_profile_id'
      t.index :repository_profile_id, name: 'profile_role_ids'
    end

    create_join_table :repository_profiles, <%= ":#{@associate_table}" %>, :force => true do |t|
      t.index :repository_profile_id, name: 'profile_user_id'
      t.index <%= ":#{@associate_primary_key}"  %>, name: 'user_profile_id'
    end

    add_column <%= ":#{@associate_table}" %>, :is_arpa_admin, :boolean, default: false

    add_column :repository_profiles, :entity_id, :integer, default: nil
    add_column :repository_profiles, :entity_class, :string, default: nil

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
arpa-0.2.0 lib/generators/arpa/templates/migration.rb