Sha256: 3ea01e9bc83ae454664dc1f0257596badc15e9cdb1d63cfc78e1c719728c8cf3
Contents?: true
Size: 989 Bytes
Versions: 2
Compression:
Stored size: 989 Bytes
Contents
module DataMapper module AutoMigrations def auto_migrate! if self::subclasses.empty? table = database.table(self) table.associations.each do |association| association.activate! end table.create!(true) else schema = database.schema columns = self::subclasses.inject(schema[self].columns) do |span, subclass| span + schema[subclass].columns end table_name = schema[self].name.to_s table = schema[table_name] columns.each do |column| table.add_column(column.name, column.type, column.options) end table.associations.each do |association| association.activate! end return table.create!(true) end end private def create_table(table) raise NotImplementedError.new end def modify_table(table, columns) raise NotImplementedError.new end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
datamapper-0.2.4 | lib/data_mapper/auto_migrations.rb |
datamapper-0.2.5 | lib/data_mapper/auto_migrations.rb |