
dm-migrations 1.0 fails on mysql database
Reported by Akzhan | July 5th, 2010 @ 09:57 AM | in 1.1
After mobing of project from DataMapper 0.9 to latest one, - migrations are broken.
Error was:
2010-07-05_13:32:49.36001 ~ Starting Migration
2010-07-05_13:32:52.13748 /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:174:in `migration_info_table_exists?': undefined method `storage_exists?' for #<DataMapper::Adapters::MysqlAdapter:0x7fae56a95b30> (NoMethodError)
2010-07-05_13:32:52.13784 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:185:in `needs_up?'
2010-07-05_13:32:52.13791 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:53:in `perform_up'
2010-07-05_13:32:52.13796 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:57:in `migrate_up!'
2010-07-05_13:32:52.13802 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:55:in `each'
2010-07-05_13:32:52.13807 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:55:in `migrate_up!'
2010-07-05_13:32:52.13813 from /var/lib/gems/1.8/gems/watch-tower-server-0.6.4/lib/watch-tower-server/migration_runner.rb:16 @@@
After inspection I found that adapter extensions that define
storage_exists? are never included.
So I make these changes:
http://github.com/akzhan/dm-migrations/commit/a5fbd55f74ec2d25ada6c...
It solves this error but I got next one:
2010-07-05_14:45:28.03786 ~ Starting Migration
2010-07-05_14:45:30.69043 /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/adapters/dm-do-adapter.rb:124:in `schema_name': DataMapper::Adapters::MysqlAdapter#schema_name not implemented (NotImplementedError)
2010-07-05_14:45:30.69072 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/adapters/dm-do-adapter.rb:26:in `storage_exists?'
2010-07-05_14:45:30.69077 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:174:in `migration_info_table_exists?'
2010-07-05_14:45:30.69083 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:185:in `needs_up?'
2010-07-05_14:45:30.69088 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration.rb:53:in `perform_up'
2010-07-05_14:45:30.69094 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:57:in `migrate_up!'
2010-07-05_14:45:30.69100 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:55:in `each'
2010-07-05_14:45:30.69105 from /var/lib/gems/1.8/gems/dm-migrations-1.0.0/lib/dm-migrations/migration_runner.rb:55:in `migrate_up!'
2010-07-05_14:45:30.69111 from /var/lib/gems/1.8/gems/watch-tower-server-0.6.5/lib/watch-tower-server/migration_runner.rb:16 @@@
Grr.. Anyone test migrations with mysql?
Comments and changes to this ticket
-
Martin Gamsjaeger (snusnu) July 5th, 2010 @ 10:40 AM
- State changed from new to unconfirmed
The files you manually required in your patch should actually get required by http://github.com/datamapper/dm-migrations/blob/master/lib/dm-migra... which gets required when you do
require 'dm-migrations'
Can you please test if adding
require 'dm-migrations/auto_migration'
to the top of eitherdm-migrations/migration.rb
ordm-migrations/migration_runner.rb
helps? -
Akzhan July 5th, 2010 @ 01:58 PM
Yep.. thanks, it helps.
Was:
#!/usr/bin/env ruby require 'rubygems' require 'dm-core' require 'dm-migrations/migration_runner'
Nw I have added
require 'dm-migrations/migration_runner'
And it works again.
-
-
Martin Gamsjaeger (snusnu) January 14th, 2011 @ 08:02 PM
- State changed from unconfirmed to resolved
- Assigned user set to Martin Gamsjaeger (snusnu)
- Milestone set to 1.1
- Milestone order changed from 196225 to 0
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »