On Thu, Jul 16, 2009 at 3:51 PM, John McKeon <p3anoman@gmail.com> wrote:


On Thu, Jul 16, 2009 at 9:37 AM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
John: excellent news!! I really like the different persistence alternatives we have in Squeak :)

A couple of questions:

1) Which is the difference between Moe and Roe. I ask because here: http://www.seaside.st/documentation/persistence#185450097 I saw Roe.

Its not different. It *uses* Roe.
Roe is the the framework that talks to a postgres db (generates the SQL).
MAMappedObject in Magritte-Roe connects Magritte to Roe. You implement #tableName on the class side of your model. and send #sqlColumnName: in the descriptions of the fields you want to store in the db. Then you store the object in the db by sending #save.

Moe builds on these two building blocks. It lets you describe objects within objects that you want to persist to the db, and then persists them by storing integer ids only. Those embedded objects are expected to be stored in another table and can be loaded into the containing object using the contained object's id.

Ok, thanks for the explanation!   Is there a webpage/documentation or something about this project?
 



2) Which are the advantages and disadvantages of Moe over other Magritte related stuff like Magritte-RDB for example ?

Disadvantages:
The persisted objects must be subclasses of MOEmbeddedObject that is one downside.

It has been already discussed :)
 

Also you cannot recursively embed objects. This kind of thing can be insidious so you have to be careful with what you describe as an embedded object/collection.
Moe is only meant to make the db mirror your application data. Redundant storage only.
It's very simple.

Advantages:
Its *very* simple :)

yes, it seems to be.
 


No way. That looks pretty awesome, though. I have to check it out..

Yes. I send a couple of email to them because I really find it very useful. At least for me it seems to be (I couldn't test it yet) an excellent situation when:
- Small/middle applications. I don't believe big applications can have tables and all that stuff autogenerated.
- If you want or need (the client makes you) a RDBMS (this is very common here)
- You don't want to spend time doing mappings (as you need in Glorp for example)

 



ps: if you have to user another database instead of postgres, you know there is SqueakDBX  ;)

BTW it could use a few more tests :)

I didn't understood what you wanted to say hahaha.

 




_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki


_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki



--
http://jmck.seasidehosting.st

_______________________________________________
Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki