[sqlalchemy] Re: Announcing Elixir!
Jonathan Ellis wrote: Is there a what's new and improved in Elixir document anywhere? Well, its pretty much entirely new and improved over TurboEntity and ActiveMapper, in that it provides a totally different way of doing things. The extensive documentation and examples on the website will probably give a reasonable idea of how Elixir is different from both ActiveMapper and TurboEntity. -- Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
i hear if you mix Elixir in your SQLSoup it explodes. On Feb 15, 2007, at 3:28 PM, Jonathan LaCour wrote: Jonathan Ellis wrote: Is there a what's new and improved in Elixir document anywhere? Well, its pretty much entirely new and improved over TurboEntity and ActiveMapper, in that it provides a totally different way of doing things. The extensive documentation and examples on the website will probably give a reasonable idea of how Elixir is different from both ActiveMapper and TurboEntity. -- Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
For instance, I remember reading somewhere that AM wasn't very good at playing well with the rest of SA when AM wasn't enough, so I never bothered looking at AM very hard. I don't see anything on the elixir site about this issue, but maybe I am looking in the wrong place. On 2/15/07, Jonathan LaCour [EMAIL PROTECTED] wrote: Jonathan Ellis wrote: Is there a what's new and improved in Elixir document anywhere? Well, its pretty much entirely new and improved over TurboEntity and ActiveMapper, in that it provides a totally different way of doing things. The extensive documentation and examples on the website will probably give a reasonable idea of how Elixir is different from both ActiveMapper and TurboEntity. -- Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
Jonathan Ellis wrote: For instance, I remember reading somewhere that AM wasn't very good at playing well with the rest of SA when AM wasn't enough, so I never bothered looking at AM very hard. I don't see anything on the elixir site about this issue, but maybe I am looking in the wrong place. I know for sure that Elixir plays a bit better with the rest of SA than ActiveMapper ever did, but there might still be problems. The key thing is that there are three of us helping maintain Elixir now, and any issues that people find dealing with mixing Elixir and traditional SQLAlchemy techniques are bugs that should be fixed! With ActiveMapper, the approach that I took had some issues and overcoming them required more time than I had to give. With Elixir, having a team of people committed to helping out makes all the difference in the world. -- Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
On 2/15/07, Jonathan Ellis [EMAIL PROTECTED] wrote: For instance, I remember reading somewhere that AM wasn't very good at playing well with the rest of SA when AM wasn't enough, so I never bothered looking at AM very hard. I don't see anything on the elixir site about this issue, but maybe I am looking in the wrong place. That would be my FUD. I only had it happen in a particular 0.2 release (forget which). Everybody else who has used the two together seems to have never had a problem and I know I haven't had any problems mixing the TurboGears identity (AM) with non-AM classes in SA 0.3. I doubt it'd be listed in the Elixir docs because it hasn't been a widespread problem. I'm just noisy. P.S. I hear if you mix Elixir and SQLSoup you get magic DSL jellybeans. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
On Feb 13, 2007, at 4:35 AM, Jonathan LaCour wrote: Today, we are pleased to announce the release of Elixir (http://elixir.ematia.de), a declarative mapper for SQLAlchemy. Great work! I'm new to SQLAlchemy, but after defining my model for my first project I thought that it was unnecessarily complex (I don't mean that it was hard, just that were was a lot of work to define models for simple objects). I seemed like a potential maintenance problem to have an attribute defined on an object, again in a table definition. Not only that, but you've provided a way to easily define many-to-many relationships without having to define special tables! Score one for abstraction, and I'm sure it won't get in the way of using SQLAlchemy as is if need be. I, for one, will be using Elixir! Robert --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
On 12/02/07, Jonathan LaCour [EMAIL PROTECTED] wrote: Today, we are pleased to announce the release of Elixir (http://elixir.ematia.de), a declarative mapper for SQLAlchemy. Elixir is the successor to ActiveMapper and TurboEntity, and is a collaboration between Daniel Haus, Jonathan LaCour and Gaëtan de Menten. Elixir's website provides installation instructions, a tutorial, extensive documentation, and more. The eventual goal of Elixir is to become an official SQLAlchemy extension after some time soliciting feedback, bug reports, and testing from users. As someone who was resisting moving to SQLAlchemy due to the apparent complexity, I've had a look through the introduction and the sample TG app, and this looks wonderful. I'm now eager to move to this as the syntax now looks preferable to SQLObject (and writing my model is 90% of what I do with the ORM). A few points that came up as I was going through the docs and example: - You asked whether people preferred the with_fields or has_field style. I much prefer the with_fields style as it makes the code much more 'scannable'. - The has_many statement immediately makes sense, but the belongs_to and has_and_belongs_to_many statements don't make obvious sense. It took me a while to get my head round them. I think in general trying to use natural language for things like this is a nice friendly thing for extreme newcomers, but tends to prevent them from understanding what is really going on. Also, unless the metaphors used are very accurate, they can actually be misleading. Movies don't belong to a Genre. There just happens to point to another. Maybe an optional set of statements with clearer meanings would be a useful addition? - Because the has_many, belongs_to and has_and_belongs_to_many statements are all quite different lengths, it makes it harder to scan through them. If they were all similar lengths it would make it more readable. (Particularly as, when formatted according to PEP8, this syntax has very little whitespace) As it is though, this is wonderful. Thank you. I'm going to start using it very soon, and I guess I can override the statements easily enough (that won't break anything will it?). Ed --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
I am moving this thread over to [EMAIL PROTECTED] to continue the discussion, so please reply over there :) Ed Singleton wrote: As someone who was resisting moving to SQLAlchemy due to the apparent complexity, I've had a look through the introduction and the sample TG app, and this looks wonderful. I'm now eager to move to this as the syntax now looks preferable to SQLObject (and writing my model is 90% of what I do with the ORM). Fantastic! I am very pleased to hear that you like the direction we are going. A few points that came up as I was going through the docs and example: - You asked whether people preferred the with_fields or has_field style. I much prefer the with_fields style as it makes the code much more 'scannable'. Yes, we had this same discussion internally and I think we were split on what to do. Personally, I think they both have their merits, and have really tried to use both of them in practice to see if one comes out a clear leader in my mind. I used to be 100% behind the with_fields syntax, but have come around a bit to the has_field syntax, which I find more readable. Anyway, we might just end up keeping both... - The has_many statement immediately makes sense, but the belongs_to and has_and_belongs_to_many statements don't make obvious sense. It took me a while to get my head round them. I think in general trying to use natural language for things like this is a nice friendly thing for extreme newcomers, but tends to prevent them from understanding what is really going on. Also, unless the metaphors used are very accurate, they can actually be misleading. Movies don't belong to a Genre. There just happens to point to another. Maybe an optional set of statements with clearer meanings would be a useful addition? We originally had such aliases, but then you end up having to document the five or six synonyms for each relationship type, so we took them out. It is very easy to create your own aliases, if you want: from elixir import has_many as owns_a_bunch_of or, even: from elixir import has_many owns_a_bunch_of = has_many This should allow you to clearly pick whatever descriptive term you like to describe your models, and people can easily scan through your imports to figure out which relationship type they are dealing with. - Because the has_many, belongs_to and has_and_belongs_to_many statements are all quite different lengths, it makes it harder to scan through them. If they were all similar lengths it would make it more readable. (Particularly as, when formatted according to PEP8, this syntax has very little whitespace) Yes, I totally understand this complaint. We all had similar thoughts, but couldn't come up with anything better. Keep in mind that there is prior art here with Rails' ActiveRecord, which uses the same relationship names as we do. It seems like they also couldn't find anything better :) Of course, we are always open to suggestion. As it is though, this is wonderful. Thank you. I'm going to start using it very soon, and I guess I can override the statements easily enough (that won't break anything will it?). Great, and no, overriding statements shouldn't break a thing. Watch my blog today as well, because I am going to be posting a quick tutorial on creating your *own* DSL statements for your model objects. -- Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
Jonathan Anyway, we might just end up keeping both... I say punt and pick one. Even it it's a coin flip. Skip --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---
[sqlalchemy] Re: Announcing Elixir!
congrats to jonathan and team ! looking forward to some of the SA support burden moving over :) On Feb 12, 2:35 pm, Jonathan LaCour [EMAIL PROTECTED] wrote: Today, we are pleased to announce the release of Elixir (http://elixir.ematia.de), a declarative mapper for SQLAlchemy. Elixir is the successor to ActiveMapper and TurboEntity, and is a collaboration between Daniel Haus, Jonathan LaCour and Gaëtan de Menten. Elixir's website provides installation instructions, a tutorial, extensive documentation, and more. The eventual goal of Elixir is to become an official SQLAlchemy extension after some time soliciting feedback, bug reports, and testing from users. Daniel Haus http://www.danielhaus.de Gaëtan de Menten http://openhex.com Jonathan LaCour http://cleverdevil.org --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups sqlalchemy group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~--~~~~--~~--~--~---