Hi,
ich beschäftige mich gerade mit MySQL und bin dabei über SQLAlchemy gestoßen. Lohnt sich das oder fahre ich u.U. besser wenn ich normal auf die Datenbank zugreife?
Wo liegen die Vorteile einer ORM?
SQLAlchemy oder "normal"?
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Das sind die Vorteile von SQLAlchemy:
http://www.sqlalchemy.org/features.html
Und ob sich das lohnt hängt natürlich von der Anwendung ab.
http://www.sqlalchemy.org/features.html
Und ob sich das lohnt hängt natürlich von der Anwendung ab.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Können schon, aber es könnte besser sein. Ich tu mich halt schwer neue Sachen zu lernen wenn es Texte nur auf englisch gibt. Wenn ich erstmal ne gewisse Grundlage hab und die Begriffe kenne gehts auch im englsichen (deshalb hasse ich zb krampfhafte Übersetzungen von Fachbegriffen)
Sorry für den Doppelpost, aber ich hab noch ne Frage.
Aktuell ist Version 0.4.6, in den Ubuntu Quellen ist aber noch 0.4.2, 0.5.0 gibt es als Entwicklerversion. Welche davon kann ich guten Gewissens verwenden? Kann ich schon die 0.5.0 verwenden oder ist die noch zu instabil?
Aktuell ist Version 0.4.6, in den Ubuntu Quellen ist aber noch 0.4.2, 0.5.0 gibt es als Entwicklerversion. Welche davon kann ich guten Gewissens verwenden? Kann ich schon die 0.5.0 verwenden oder ist die noch zu instabil?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich würde 0.4.6 nutzen, so ist der deklarative Layer erst in 0.4.4 hinzugekommen. Es spielt aber gut mit easy_install & setuptools zusammen, also gibt es von daher kein zu großes Problem.
Die Ubuntu-Version zu nehmen wäre auch möglich, nur werden da ein paar Dinge fehlen. Die Entwicklerversion würde ich entwicklerversion sein lassen, die bricht wohl ab und zu Kompatibilität. Da würde ich auf das Release warten, von 0.3 auf 0.4 gab es einen Migration Guide, das wirds auch hier geben.
Die Ubuntu-Version zu nehmen wäre auch möglich, nur werden da ein paar Dinge fehlen. Die Entwicklerversion würde ich entwicklerversion sein lassen, die bricht wohl ab und zu Kompatibilität. Da würde ich auf das Release warten, von 0.3 auf 0.4 gab es einen Migration Guide, das wirds auch hier geben.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Mir fallen da auf Anhieb folgende Vorteile ein:burli hat geschrieben:Hi,
ich beschäftige mich gerade mit MySQL und bin dabei über SQLAlchemy gestoßen. Lohnt sich das oder fahre ich u.U. besser wenn ich normal auf die Datenbank zugreife?
Wo liegen die Vorteile einer ORM?
1. Wenn Du schon eine objektorientierte Anwendung hast (inkl. Modelle), dann bietet ein ORM ganz automatisch Objektpersistenz, ohne daß Du Dich mit SQL herumschlagen mußt.
2. Viele Entwickler und User fühlen, daß ihre Daten in einem SQL-Backend sicherer aufgehoben sind, als in der ZODB (egal ob berechtigt oder nicht), möchten aber dennoch objekt-orientierte Persistenz einsetzen.
3. Ein ORM entkoppelt die Anwendung von den Eigenarten des SQL-Backends. Angenommen, Du möchtest später Deine Anwendung von MySQL auf, sagen wir mal, PostgreSQL portieren: hättest Du in SQL codiert, dann müßtest Du verschiedene Stellen anpassen. Ein ORM, das beide DB-Systemen unterstützt kann Dir diese Mühe abnehmen.
Naja, der Großteil der Änderungen in 0.5 dürfte am Anfang kaum auffallen, allerdings bietet 0.5 an manchen Stellen eine vereinfachte API. Insofern würde ich schon empfehlen, 0.5 einzusetzen, zumal man das auch über den cheeseshop installieren kann.Leonidas hat geschrieben:Ich würde 0.4.6 nutzen, so ist der deklarative Layer erst in 0.4.4 hinzugekommen. Es spielt aber gut mit easy_install & setuptools zusammen, also gibt es von daher kein zu großes Problem.
Die Ubuntu-Version zu nehmen wäre auch möglich, nur werden da ein paar Dinge fehlen. Die Entwicklerversion würde ich entwicklerversion sein lassen, die bricht wohl ab und zu Kompatibilität. Da würde ich auf das Release warten, von 0.3 auf 0.4 gab es einen Migration Guide, das wirds auch hier geben.
Sinnvoll wäre nur, diese Eggs in ein eigenes Verzeichnis zu packen. Ich installiere eigene Eggs immer nach "~/lib/python2.5/site-packages/". Dadurch gerät man nicht in Konflikt mit dem Paketmanagement, kann aber trotzdem relativ komfortabel mit "easy_install --prefix ~ sqlalchemy" installieren. Man muss nur $PYTHONPATH entsprechend in der ~/.profile setzen.
virtualenv wäre dafür wohl interessant
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]