Seite 1 von 1

SQLAlchemy oder "normal"?

Verfasst: Mittwoch 28. Mai 2008, 15:41
von burli
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?

Verfasst: Mittwoch 28. Mai 2008, 17:10
von veers
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.

Verfasst: Donnerstag 29. Mai 2008, 11:26
von burli
hm, ich werde es mir mal anschauen. gibt es dazu irgendwo deutsche Texte? Habe bisher nur englische Dokus gefunden

Verfasst: Donnerstag 29. Mai 2008, 12:12
von veers
Wenn du kein englisch kannst wirst du keinen Spass haben. :wink:

Verfasst: Donnerstag 29. Mai 2008, 12:17
von burli
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)

Verfasst: Donnerstag 29. Mai 2008, 12:49
von burli
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?

Verfasst: Donnerstag 29. Mai 2008, 12:58
von Leonidas
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.

Verfasst: Sonntag 1. Juni 2008, 11:18
von burli
Ok, die Installation war ja mit easy_install einfach. Elixir hab ich auch gleich mitinstalliert. Jetzt heißt es Doku lesen, verstehen und üben

Re: SQLAlchemy oder "normal"?

Verfasst: Donnerstag 9. Oktober 2008, 18:47
von farid
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?
Mir fallen da auf Anhieb folgende Vorteile ein:

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.

Verfasst: Donnerstag 9. Oktober 2008, 19:39
von lunar
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.
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.

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.

Verfasst: Donnerstag 9. Oktober 2008, 19:45
von tiax
virtualenv wäre dafür wohl interessant