Class: ActsAsResourceMigration

Inherits:
ActsAsResource::MIGRATION_BASE_CLASS
  • Object
show all
Defined in:
lib/generators/acts_as_resource/migration/templates/migration.rb

Class Method Summary collapse

Class Method Details

.create_optionsObject



20
21
22
23
24
25
26
27
# File 'lib/generators/acts_as_resource/migration/templates/migration.rb', line 20

def self.create_options
  options = ''
  if defined?(ActiveRecord::ConnectionAdapters::Mysql2Adapter) \
    && ActiveRecord::Base.connection.instance_of?(ActiveRecord::ConnectionAdapters::Mysql2Adapter)
    options = 'DEFAULT CHARSET=latin1'
  end
  options
end

.downObject



16
17
18
# File 'lib/generators/acts_as_resource/migration/templates/migration.rb', line 16

def self.down
  drop_table Resourceship
end

.upObject



2
3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/generators/acts_as_resource/migration/templates/migration.rb', line 2

def self.up
  create_table Resourceship, force: true, options: create_options do |t|
    t.references :accessable, polymorphic: { null: false }
    t.references :resourceable, polymorphic: { null: false }
  end

  add_index(
    Resourceship,
    %i[accessable_id accessable_type resourceable_id resourceable_type],
    name: 'relationships_accesable_resourceable_index',
    unique: true
  )
end