data_migrate v1.1.0

Only a few days, and I already have a new version of my gem Data Migrate. If you are not sure what this is all about, I encourage you to check out the project on Github, or check out my introductory post.

What changed?

Installation has changed to merely including the gem in your project. The last version required you generate and migrate the data schema table. This version does that automatically for you. When you use one of the supplied rake tasks, it will check to see if the table exists, and create it if not.

I’ve also updated the README to tell folks this, and add some information about why you ought to use Data Migrate.

If you installed v1.0.0, you’ll want to remove the migration ‘create_data_migrations_table’. If you don’t you’ll get an error that the table exists if you re-migrate everything using one of the data related tasks.

Why’d you do that?

KB was giving it a run for me, and discovered a bit of a frustration. While it worked as promised, deploying was a bit wonky. If you only had schema migrations, it was smooth, but he updated his cap:deploy to use ‘db:migrate:with_data’. Because it needs to get pending migrations, it needs the data schema table in place before it can run this task. As a result, he had to migrate through creating the table, and then could proceed with the new task.

It works fine in development, but I doubt folks would be pleased having to go through the hassle during a deploy. I thought it would be more friendly if it acted more like your stand migrations, where the table is created at need. After reading through the source to see how its done with ActiveRecord, I added the functionality to Data Migrate.

I hope this didn’t cause anyone grief. Of course, let me know if you notice anything else wonky.

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.