Thread: [SQLObject] SQLObject 0.6 (and 0.5.3)
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Ian B. <ia...@co...> - 2004-09-22 06:14:20
|
I've made a long-overdue release of SQLObject 0.6, and a final bug-fix release for the 0.5 series. What is SQLObject ================= SQLObject is an object-relational mapper. Your database tables are described as classes, and rows are instances of those classes. SQLObject is meant to be easy to use and quick to get started with. SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, and Firebird. It also has newly added support for Sybase and MaxDB (also known as SAPDB). Where is SQLObject ================== Site: http://sqlobject.org Mailing list: https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss Archives: http://news.gmane.org/gmane.comp.python.sqlobject Download: http://prdownloads.sourceforge.net/sqlobject/SQLObject-0.6.tar.gz?download News and changes: http://sqlobject.org/docs/News.html What's New ========== In 0.5.3: some small bug fixes, and an important fix when iterating over selects in threaded environments. In 0.6: The "SQLObject" module has been renamed "sqlobject". To fetch objects from the database, use MyClass.get(id) (instead of MyClass(id)). To create/insert objects, use MyClass(col=value, ...) (instead of MyClass.new(col=value, ...)). Better support for constraints. Connections given using URLs, like 'mysql://user:pass@localhost/dbname' Optional lazy updates -- SQL UPDATE executed only on demand. For a more complete list, please see the news: http://sqlobject.org/docs/News.html -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: Marcin W. <wo...@un...> - 2004-09-22 11:00:45
|
Hi, On Wed, 22 Sep 2004, Ian Bicking wrote: > For a more complete list, please see the news: > http://sqlobject.org/docs/News.html And there: """ Col constructors now support cascade: [...] The constraints are only implemented in the DBMS, not in SQLObject (i.e., they will not work in databases like MySQL and SQLite)." """ I mentioned in http://sourceforge.net/mailarchive/message.php?msg_id=9497517 that it works in MySQL. SQLObjects throws an SQLObjectIntegrityError when I try to delete constrained row. Is this an experimental feature? Should I expect that it will be removed in future? Marcin -- Marcin Wojdyr http://www.unipress.waw.pl/~wojdyr/ |
From: David M. C. <da...@da...> - 2004-09-22 13:32:16
|
On Wed, Sep 22, 2004 at 01:05:00PM +0200, Marcin Wojdyr wrote (quoting the docs): > """ > Col constructors now support cascade: [...] The constraints > are only implemented in the DBMS, not in SQLObject (i.e., they will not > work in databases like MySQL and SQLite)." > """ I'm not sure I understand this. Cascading is only done in the DBM? What if I try to update a referenced SQLObject that has been deleted from the DBM? Also, will this complain if I try to use cascade with an SQLite connection, or just ignore it? Dave Cook |
From: Ian B. <ia...@co...> - 2004-09-22 15:36:33
|
Marcin Wojdyr wrote: > On Wed, 22 Sep 2004, Ian Bicking wrote: >>For a more complete list, please see the news: >>http://sqlobject.org/docs/News.html > > > And there: > """ > Col constructors now support cascade: [...] The constraints > are only implemented in the DBMS, not in SQLObject (i.e., they will not > work in databases like MySQL and SQLite)." > """ > > I mentioned in > http://sourceforge.net/mailarchive/message.php?msg_id=9497517 > that it works in MySQL. SQLObjects throws an SQLObjectIntegrityError > when I try to delete constrained row. Is this an experimental feature? > Should I expect that it will be removed in future? It is a bit experimental. It was added by Sidnei de Silva, and I haven't fully thought about what it implies. My goal is to change columns so that they receive event notification, e.g., an onDelete method is called. Well, joins as well, since in this case the MultipleJoin would be doing the cascade. Which is kind of the opposite of cascade, which is defined on the ForeignKey. Hm... I'm still thinking it through. So... I guess we actually need events across SQLObject instances; in this case, the class with the ForeignKey wants to get events from the class it's joined to, or more specifically a specific instance is interested in the events of some other instance. But lazily, since we obviously don't want to bring in the joined class just to register the event, because then fetching one object could pull in a huge set of objects. Well, it's there. I think the interface that's in SQLObject will probably stay, but the semantics will change some. -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |
From: Brian R. <br...@se...> - 2004-09-22 12:59:07
|
Good Job! Are there any backward compatibility considerations when users are moving from .5 to .6? Thought I would ask in advance. On Sep 22, 2004, at 1:14 AM, Ian Bicking wrote: > I've made a long-overdue release of SQLObject 0.6, and a final bug-fix > release for the 0.5 series. > > What is SQLObject > ================= > > SQLObject is an object-relational mapper. Your database tables are > described as classes, and rows are instances of those classes. > SQLObject is meant to be easy to use and quick to get started with. > > SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite, > and Firebird. It also has newly added support for Sybase and MaxDB > (also known as SAPDB). > > > Where is SQLObject > ================== > > Site: > http://sqlobject.org > > Mailing list: > https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss > > Archives: > http://news.gmane.org/gmane.comp.python.sqlobject > > Download: > http://prdownloads.sourceforge.net/sqlobject/SQLObject-0.6.tar.gz? > download > > News and changes: > http://sqlobject.org/docs/News.html > > > What's New > ========== > > In 0.5.3: some small bug fixes, and an important fix when iterating > over selects in threaded environments. > > In 0.6: > > The "SQLObject" module has been renamed "sqlobject". > > To fetch objects from the database, use MyClass.get(id) (instead of > MyClass(id)). To create/insert objects, use MyClass(col=value, ...) > (instead of MyClass.new(col=value, ...)). > > Better support for constraints. > > Connections given using URLs, like 'mysql://user:pass@localhost/dbname' > > Optional lazy updates -- SQL UPDATE executed only on demand. > > For a more complete list, please see the news: > http://sqlobject.org/docs/News.html > > -- > Ian Bicking / ia...@co... / http://blog.ianbicking.org > > > ------------------------------------------------------- > This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 > Project Admins to receive an Apple iPod Mini FREE for your judgement on > who ports your project to Linux PPC the best. Sponsored by IBM. > Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php > _______________________________________________ > sqlobject-discuss mailing list > sql...@li... > https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss |
From: Ian B. <ia...@co...> - 2004-09-22 15:55:01
|
Brian Ray wrote: > Good Job! > > Are there any backward compatibility considerations when users are > moving from .5 to .6? Thought I would ask in advance. The only specific things are the SQLObject->sqlobject renaming (which is easy to apply), and the change in creating and fetching rows (which is a little annoying, since it's a swap). The other changes shouldn't really effect your code. -- Ian Bicking / ia...@co... / http://blog.ianbicking.org |