Quantcast

Ruby on Rails, Io, Lisp, JavaScript, Dynamic Languages, Prototype-based programming and more...

Technoblog reader special: $10 off web hosting by FatCow!

Monday, April 21, 2008

DataMapper Review and Impressions

On the first day, DHH made ActiveRecord, and ActiveRecord was good. Sure it wasn't originally thread safe and it created monster SQL queries updating every single column on a save even if only one value changed. Sure it may have used a ton of RAM and made you write a bit more SQL than you would have liked. But it worked and was good.

Today, there is a lot of buzz around Merb + DataMapper. I will review Merb later but I would like to let people know a few things about DataMapper.

DataMapper has a lot of promise. It is thread safe, smart about SQL updates, has a better interface for generating conditions for SQL queries. Unfortunately, it is in a very strange place right now.

DataMapper's gem is at 0.3.1. Unfortunately, the entire 0.3 release is all but completely unsupported by any community. Everyone in the DM community is working on the 0.9 release. That would be fine except for the fact that 0.9 is currently so far from working that you couldn't use it in production even if you wanted to.

So DM 0.3 is unsupported... that's ok as long as it works right? Well unfortunately, DM 0.3 has various very severe bugs that I can't get anyone in the DM community to care about... even though I have submitted patches to their bug tracking system.
  1. When you declare an :order in a has_many association, it does not work at all... it re-orders the entire collection arbitrarily
  2. The belongs_to association does not work if you have changed your primary key names
  3. External database contexts do not work at all even though there are examples of them on the home page
  4. DM 0.3 claims to be backwards compatible with ActiveRecord, yet you can not use your :from, :joins, or :group conditions when composing SomeClass.find(...) calls
And these are only the ones I found within 1 week of using DataMapper.

The thing that really scares me is that nobody seems to care. Any time I mention anything like this in the IRC channel, the standard response is: sorry, we are all working on 0.9, we have no idea about 0.3.

So in short, 0.3 is unstable with no supporting community behind it and 0.9 is completely unusable. Unfortunately, that is a bad combination in my book. I have branched 0.3 so that I can keep a stable version for myself, and if anyone wants to contribute you can find it at github. I am using it because I like it and know my way around the 0.3 source code so I can fix the large issues I encounter, however I would not recommend DM unless you are a seasoned Ruby developer who is not afraid to roam on your own inside of an ORM framework.

You should follow me on twitter here.

Technoblog reader special: click here to get $10 off web hosting by FatCow!

16 Comments:

Blogger dkubb said...

Lucas, what you say is true, the support for 0.3.x could be better than it is. Most people, including myself, who are doing dev on DM are working on the next release: 0.9.

Not to make excuses for this, but the main reason it appears this way is that DM 0.3 was created by a tiny team of regular contributors. To my knowledge those people still commit fixes to DM 0.3. A couple of days ago a DM 0.3.1 was released for example. Many of those people are using 0.3 in production.

The ground up rewrite of DM 0.3 was decided upon because of some limitations in the architecture that would make it difficult for DM to support anything beyond traditional RDBMs.

However, after Yehuda's excellent presentation a whole new batch of developers started contributing to DM. Combining this with moving to github, with the 30+ forks & branches the DM community is much stronger now than previously. The huge volume of development being done on the 0.9 branch vs the 0.3 branch can make it look like all dev on 0.3 has stopped by comparison. While I agree it has slowed alot for 0.3, it is still happening just not at the pace many would like.

I totally agree with you though, we need to figure out how to best work on new versions of DM without letting maintenance on older versions suffer as it has with 0.3

2:22 PM, April 21, 2008

 
Blogger Sam Smoot said...

Lucas,

Sorry, I didn't mean to ignore your patches. Once I noticed how active the patching was on LH, I put some of my team on applying them.

I have to say though, please give DM 0.9 a shot. Yes, there are undocumented differences. We're active and hopefully helpful. Yes habtm is MIA (bad me!) but if you can live without it, DM 0.9 is sooo much better than the 0.3.x line.

DataMapper 0.3.x had 300-something specs. DataMapper 0.9.x (dm-core and dm-more) has over 1700 specs.

1700! :-D

I'm not saying people won't run into road-bumps with DM 0.9.x, but they'll soon be sorted, and the more people we have taking it for a spin, the sooner that'll happen.

As far as features go, once has_many:through support makes it in, DM 0.9.0 becomes an official release and we're off to the races. ;-)

1:44 PM, May 14, 2008

 
Anonymous Anonymous said...

i dumped dm in favor activerecord because activerecord's associations are sooo much more powerful and rich. i really missed it when i was using datamapper.

4:17 PM, June 15, 2008

 
Blogger Zhenhong Bao said...

hollister shirts
burberry outlet sale
ralph lauren polo
ralph lauren outlet
nba jerseys
ralph lauren uk
louis vuitton bags cheap
cheap soccer jerseys
mbt shoes outlet
ray ban sunglasses
michael kors outlet
michael kors outlet
swarovski outlet
michael kors outlet
louboutin pas cher
fitflops shoes
true religion outlet
rolex watches
air jordan shoes
snapbacks wholesale
fitflop sale
calvin klein outlet
michael kors outlet
michael kors handbags
swarovski crystal
fitflops sale clearance
michael kors outlet
coach outlet
fitflops sale
longchamp solde
true religion outlet
mulberry outlet
longchamp outlet online
michael kors outlet online
tiffany outlet
20160531zhenhong

6:24 PM, May 30, 2016

 
Blogger Zhenhong Bao said...

hollister shirts
burberry outlet sale
ralph lauren polo
ralph lauren outlet
nba jerseys
ralph lauren uk
louis vuitton bags cheap
cheap soccer jerseys
mbt shoes outlet
ray ban sunglasses
michael kors outlet
michael kors outlet
swarovski outlet
michael kors outlet
louboutin pas cher
fitflops shoes
true religion outlet
rolex watches
air jordan shoes
snapbacks wholesale
fitflop sale
calvin klein outlet
michael kors outlet
michael kors handbags
swarovski crystal
fitflops sale clearance
michael kors outlet
coach outlet
fitflops sale
longchamp solde
true religion outlet
mulberry outlet
longchamp outlet online
michael kors outlet online
tiffany outlet
20160531zhenhong

6:24 PM, May 30, 2016

 
Blogger Zhenhong Bao said...

toms outlet
tiffany jewellery
beats headphones
oakley sunglasses wholesale
ray-ban sunglasses
oakley sunglasses wholesale
michael kors uk
rolex watches
gucci sunglasses uk
michael kors outlet store
michael kors outlet
fitflops sale clearance
prada sunglasses for women
michael kors outlet
dior sunglasses
rolex uk
ralph lauren outlet
michael kors outlet
lululemon outlet
longchamp pas cher
camisetas futbol baratas
ferragamo outlet
air force 1 shoes
louis vuitton sunglasses for women
police sunglasses
futbol baratas
reebok shoes
louis vuitton handbags outlet
cartier watches
cheap nba jerseys
prada handbags
versace sunglasses
polo ralph lauren
jordan pas cher
ray-ban sunglasses
20160531zhenhong

6:26 PM, May 30, 2016

 
Anonymous minecraft said...

Very nice. Posts shared useful information and meaningful life, I'm glad to be reading this article and hope to soon learn the next article. thank you
g9g games
a10 games
hopy games
yepi games
kizi games
friv games
4223 games
huz games
kizi new games
yoob games

7:53 AM, June 26, 2016

 
Blogger xjd7410@gmail.com said...

christian louboutin shoes
gucci outlet
ray ban outlet
michael kors handbags
oakley sunglasses
toms
nike air max
nike air max
michael kors outlet online sale
nike outlet
nike huarache shoes
christian louboutin outlet
basketball shoes
ghd hair straighteners
michael kors outlet online sale
nike blazers
louis vuitton handbags
coach outlet store online
adidas shoes
oakley sunglasses
jordan 8s
louis vuitton
rolex submariner
louis vuitton
mont blanc pens
christian louboutin shoes
michael kors handbags
christian louboutin sale
christian louboutin outlet
louboutin pas cher
ray ban sunglasses
kobe bryant shoes
adidas ultra boost
timberland outlet
polo ralph lauren outlet
nike outlet store
nfl jerseys wholesale
adidas uk
hollister clothing store
nike air huarache
2016.7.7haungqin

12:33 AM, July 07, 2016

 
Blogger Alice Denny said...

Welcomes to google terminal keep sharing such ideas in the future as well.
google snake this was actually EARN TO DIE
what i was looking for,and i am glad to came here! AGE OF WAR 2
Hi! I’ve been reading your blog for a while HAPPY WHEELS
I want you to thank for your time of this wonderful read!!! Slitherio
Amazing insight you have on this, Slither io This article always blew me BIG FARM

2:04 AM, July 10, 2016

 
Blogger Tachra door said...


کرکره برقي
درب اتوماتيک شيشه اي
درب اتوماتيک
جک پارکينگ
جک پارکينگي
تعميرات
کرکره برقي
درب اتوماتيک شيشه اي
درب اتوماتيک
جک پارکينگ
تعميرات
قطعات خودرو
طراحي دکوراسيون
دکوراسيون داخلي
جک پارکينگ
جک پارکينگي
سئو سايت
طراحي سايت
درب اتوماتيک شيشه اي
درب شيشه اي

3:28 AM, July 28, 2016

 
Blogger Kelly Anni said...

I definitely enjoying every little bit of it. It is a great website and nice share:
contact form | snapchat emoji

6:45 AM, August 03, 2016

 
Blogger Hua Cai said...

asics,asics israel,asics shoes,asics running shoes,asics israel,asics gel,asics running,asics gel nimbus,asics gel kayano
ralph lauren uk
michael kors outlet
christian louboutin uk
nike air max 90
mlb jerseys
nfl jersey wholesale
swarovski outlet
michael kors handbags
rolex watches
nike free run
nba jerseys
nike trainers uk
ugg boots
ray ban sunglasses
rolex watches
mont blanc pens
nike uk store
coach outlet clearance
nike blazer pas cher
michael kors uk
mulberry handbags
vans outlet
ralph lauren outlet
nike store uk
cheap oakley sunglasses
canada goose jackets
nhl jerseys
louis vuitton pas cher
kobe shoes
coach outlet
nba jerseys
air max 90
nike foamposite
ralph lauren pas cher
20160804caihuali

10:45 PM, August 03, 2016

 
Blogger Chung Cư Hà Nội said...

Mở bán an bình city hà đông
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Giới thiệu chung cu an binh city cổ nhuế
Chủ đầu tư chung cư brg park phạm văn đồng
Ra mắt palm garden le van luong
Mở bán chung cư gemek premium hà đông
Mở bán chung cư nguyễn tuân hà đông
Mở bán the green daisy hà đông
Mở bán flc star tower hà đông
Mở bán the golden palm hà đông
Chủ đầu tư an bình city phạm văn đồng

12:19 AM, August 30, 2016

 
Blogger Fangyaya said...

cleveland cavaliers jerseys
canada goose
rolex watches outlet
nike factory outlet
ralph lauren uk
basketball shoes
tory burch outlet
polo ralph kids
coach factory outlet
ralph lauren polo
michael kors outlet clearance
coach factory online
uggs on sale
christian louboutin pas cher
nike air max 90
ray ban sunglasses outlet
true religion sale
toms shoes
authentic louis vuitton handbags
coach factory outlet online
washington wizards jerseys
ugg boots
michael kors purses
jordan 11
ugg boots
uggs outlet
kate spade outlet
gucci handbags
cartier watches
chenyingying20160908

7:13 PM, September 07, 2016

 
Blogger Quá Đã said...

tai game vo lam truyen ky mobile hay hay nhất tai ch play mien phi

7:49 PM, September 18, 2016

 
Blogger Minh Thái said...


visit the website of me!
Vid Reaper Review
Vid Reaper Bonus
Vid Reaper Energy
Vid Reaper Bonus
Vid Reaper Review
Vid Reaper Bonus
Vid Reaper Energy
Vid Reaper Bonus
Mỹ Phẩm Pizu
Vid Reaper Review
Vid Reaper Bonus
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review
Vid Reaper Review

7:58 AM, September 19, 2016

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home

 

If you like this blog, you might also like top photography schools.