Module DataMapper::AutoMigrations
In: lib/data_mapper/auto_migrations.rb
lib/data_mapper/auto_migrations.rb

Methods

Public Instance methods

[Source]

    # File lib/data_mapper/auto_migrations.rb, line 3
 3:     def auto_migrate!
 4:       if self::subclasses.empty?
 5:         table = database.table(self)
 6:         table.activate_associations!
 7:         
 8:         table.create!(true)
 9:       else
10:         schema = database.schema
11:         columns = self::subclasses.inject(schema[self].columns) do |span, subclass|
12:           span + schema[subclass].columns
13:         end
14: 
15:         table_name = schema[self].name.to_s
16:         table = schema[table_name]
17:         columns.each do |column|
18:           table.add_column(column.name, column.type, column.options)
19:         end
20:         
21:         table.activate_associations!
22:         
23:         return table.create!(true)
24:       end
25:     end

[Source]

    # File lib/data_mapper/auto_migrations.rb, line 3
 3:     def auto_migrate!
 4:       if self::subclasses.empty?
 5:         table = database.table(self)
 6:         table.activate_associations!
 7:         
 8:         table.create!(true)
 9:       else
10:         schema = database.schema
11:         columns = self::subclasses.inject(schema[self].columns) do |span, subclass|
12:           span + schema[subclass].columns
13:         end
14: 
15:         table_name = schema[self].name.to_s
16:         table = schema[table_name]
17:         columns.each do |column|
18:           table.add_column(column.name, column.type, column.options)
19:         end
20:         
21:         table.activate_associations!
22:         
23:         return table.create!(true)
24:       end
25:     end

[Validate]