Pairing today, I saw someone go through the following process:
- Went to play with some SQL as we prototype a new feature
- Say ’screw it’ and jump in to use migrations to change the schema as it was easier to do so that grok the SQL in this case
This again showed me how ActiveRecord migrations are so useful, that I would be very tempted to use them for a non-Rails project at this point.
That isn’t that far fetched. I can not think of a Java project in recent years that didn’t have a bit of Ruby (or Groovy, or …) in there as helper scripts at the very least. There are no “Java projects”. You always have many languages involved (SQL, shell scripts, HTML, XML, …) in a project. As you do useful things in your projects you often generalize them into libraries that you use on future projects.
ActiveRecord migrations could easily fit into this world. Versioning, and managing the versions of database schema, and data, can often be a pain in the arse. Migrations does the job in style, and is useful standalone.
Of course, you could role up some Java solutions, but it is hard to come up with a DSL quite as nice, and migrations will get better and better. There are still rough edges that we run into. When sucking out an existing schema with enumerations a field with varchar(0) was created. Not too helpful, and yet another look into how good Rails is for green-fields, but it still takes a bit more work for legacy. This is normal though.
September 8th, 2006 at 1:36 am
This is particularly timely now that migrations are working under JRuby for multiple databases, including some that Rails doesn’t normally even support like Derby and HSQLDB…plus we have solid support everywhere for SQL Server and migrations support for Firebird.
Ola brought up this exact same thought the other day and I was blinded by the brilliance of it. Good god, if I could now use migrations for all my Java projects just as easily as for rails projects…well there goes the six-figure DBA salaries to alter a bloody column or import test data for me. It would be a beautiful thing, and with Rails, Rake, and migrations working in JRuby, it’s a no-brainer to start using it.
September 8th, 2006 at 1:42 pm
hi there,
very cool! Only yesterday, something similar hit me after reading Bruce Tate’s article on IBM Developerworks.
Will be interesting to use JRuby/migrations!
BR,
~A
July 21st, 2007 at 3:14 pm
The freedom of doing database refactoring while developing code is something every framework / technology / whateverelse should implement to make developers happy. I am willing to see its adoption everywhere.
July 20th, 2008 at 2:18 pm
thanks for your share,very good.thank you!