Ayende @ Rahien

Unnatural acts on source code

Boo Migration DSL

Nathan Stott is doing some really interesting things with Rhino DSL and Boo. His latest post outlines how to create this syntax:

CreateTable "Cats":
    Int32 "Id", { "identity" : true, "primary" : true }
    String "Name", { "length" : 50 }

I like it.

Comments

josh
07/09/2008 07:24 AM by
josh

I agree. its much better than what Rob Conery had going a while back.. I think it is part of SubSonic. (Sorry Rob, I just didn't like the syntax for it.) This just seems more natural.

Nathan
07/09/2008 04:13 PM by
Nathan

Ayende, thanks for the link to my blog. I appreciate it.

@Josh,

Thanks for the vote of confidence.

The migrations are coming along nicely. This weekend I'm going to put more work into documentation and a getting started guide.

My good friend Martin Murphy (blog coming soon) is also helping on this project, and of course, we're looking for a community to build up around Mite and get involved.

Migrations are sorely missing from the .NET community. It's time to correct that and thanks to Rhino DSL we can have a great syntax for it!

Martin Murphy
07/09/2008 04:17 PM by
Martin Murphy

Thanks for the post Oren. Not sure if we're ready for the masses just yet. The source is in a useful place at the moment but the Msi simply gives you the command line client without examples.

If you want to place around with Mite it's probably best to download the source here. http://code.google.com/p/mite-net/source/checkout

We'll be putting some examples in place later this week and making it a little more friendly.

If your interested in what this project is there is a good synopsis here. http://code.google.com/p/mite-net/

But essentially it's Migrations for .Net. Currently it's only implemented for MsSql but it's done in an agnostic way and there will be more coming soon. If you are interested in contributing to the project please contact us.

Thanks, Enjoy!

Victor Kornov
07/09/2008 08:55 PM by
Victor Kornov

@Nathan

"Migrations are sorely missing from the .NET community"

you are one of many, actually :)

http://flux88.com/NETDatabaseMigrationToolRoundup.aspx

Nathan
07/09/2008 10:47 PM by
Nathan

@Victor

RikMigrations and Machine Migrations I didn't know about. They look very interesting.

I wouldn't call Tarantino a migrations framework since it just works off of SQL.

Migrator.NET was abandoned several times and apparently now is back? Good for it. I looked at it quite a while ago and back then it was lacking a lot of features but it seems like it has come a long way.

There's room for more than one migrations project. I wasn't aware there were so many kicking :).

Hopefully Mite will find its place amongst those who don't want to use Ruby in .NET land but still want a DSL.

firefly
07/10/2008 06:47 AM by
firefly

I like it! One question can "identity" and "primary" be strong typed?

firefly
07/10/2008 06:53 AM by
firefly

"Eventually the need for strings will be alleviated via the use of sigils." So that answer my own question. Sorry I didn't see that in your post before :)

That's what I mean by strongly typed btw.

Tobin Harris
07/10/2008 08:25 AM by
Tobin Harris

Looks great! Reminds me of the Rails migrations, which I've found very cool (Example: http://garrettsnider.backpackit.com/pub/367902). Would be brill to have something similar in the .NET space.

This also makes me even more keen to grab the Boo DSL book too :)

Nathan
07/10/2008 04:40 PM by
Nathan

I highly recommend the Boo DSL book. I have read it 3x.

Winston Fassett
07/19/2008 04:58 AM by
Winston Fassett

I am dying to have migrations for .NET (with support for multiple dialects), and was just today thinking about trying to do something like this.

Or perhaps "Update Schema" for NHibernate -- is that available yet?

Either would do for my purposes.

Ayende Rahien
07/20/2008 10:20 PM by
Ayende Rahien

Update Schema exists in NH, yes.

Comments have been closed on this topic.