* Default the :needs option to an empty Array.
…ns by position or dependencies. * Added DataMapper::Migrations::UnknownMigration. * Added DataMapper::Migrations::Graph. * Added the :needs and @needs ivar to DataMapper::Migration to store the dependencies of a migration. * Removed DataMapper::Migration#position, as the migration position is now stored in DataMapper::Graph. * Refactored DataMapper::Migrations::Runner::ClassMethods to use the new DataMapper::Migrations::Graph.
…ner::ClassMethods, for Property Class lookups in migrations.
…ner. * We simply include DataMapper::Migrations::Runner into Kernel and include (instead of extend) DataMapper::Migrations::Runner::ClassMethods. * Maintain backwards compatibility by keeping 'dm-migrations/migration_runner.rb' and the DataMapper::MigrationRunner constant.
* Allows defining migrations in namespaces by including DataMapper::Migrations::Runner into a module. * Tracks all registered migration namespaces in Runner.migration_namespaces. * Allows defining migrations with positions or versions.
…n' actions of the migration.
* Other libraries might want to use different messages.
* The previous approach relied on the adapters being setup, which may not always be true if bundler is being used. Sure, we could tell people to use :require => nil on adapters, but I would rather not have to explain that exception every-time this or related problems appear. * Even though this was not strictly related to #1280, I am tagging it with the bug because it is the exact same problem as with transactions [#1280]