Ein Wochenende mit SA und Elixir - und was dabei heraus kam

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Nach einigen kleineren Gehversuchen habe ich es endlich vollbracht, meine (überwiegend Code-bezogene) Website von SQLObject auf das Gespann aus SQLAlchemy und Elixir zu migrieren. Was ich mir dabei gedacht habe und wie es mir erging, könnt ihr in meinem kleinen Erfahrungsbericht A Potion with Side Effects nachlesen. Kommentare sind natürlich erwünscht (und Spielraum sehe ich einigen...). Viel Spaß beim Lesen :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich habe Elixir nicht verwendet, weil es mir gleich zum Anfang Steine in den Weg geworfen hat (Dokumentation verstreut zwischen Elixir und SQLAlchemy) und ich mit "purem" SQLAlchemy ein Dependency weniger habe. Ich habe die Beta-Versionen von SQLAlchemy 0.4 verwendet, da sie recht gut funktionieren und ich keine Lust hatte, die API wieder in einigen Wochen anpassen zu müssen.

Ben Bangert hatte dazu mal den Artikel SQLAlchemy, Declarative layers, and the ORM 'Problem' geschrieben, warum er Elixir nicht mag.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Also dank SQLAlchemy 0.4 ist Elixir ziemlich nutzlos geworden. Zumindest hab ich mit TextPress wunderbare Erfahrungen damit gemacht. Hab zwar noch ein Django ähnliches Manager System hinzugefügt, aber das ist fast nicht nötig.
TUFKAB – the user formerly known as blackbird
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Leonidas hat geschrieben:Ben Bangert hatte dazu mal den Artikel SQLAlchemy, Declarative layers, and the ORM 'Problem' geschrieben, warum er Elixir nicht mag.
Der ist mir natürlich bekannt. Ich stehe hierbei allerdings vorwiegend auf der Seite von Jonathan und empfinde Bens Ausführungen als, sagen wir, Überreaktion. SAs `Table`s plus Objektklassen und Mapper-Gefriemele auf der einen und Elixirs `Entity`s auf der anderen Seite sind meiner Meinung nach deutlich unterschiedlich. Ersteres mag insgesamt sehr genaue Definitionen zulassen, für meine durchschnittlichen Anwendungen (nicht im technischen Sinn; obwohl, doch, auch) ist das jedoch *viel* zu aufgeblasen, um ein kompaktes Problem angemessen kompakt zu definieren. Das Ergebnis ist explizit genug.

SA 0.4 kommt in der Entwicklungsphase für mich noch nicht in Frage. Auf Anhieb finde ich in der Liste der Neuerungen und der neuen Doku aber nichts, was großartig das ORM betrifft. Hier und da habe ich mal aufgeschnappt, das `assign_mapper`(?) und/oder ähnliches im `ext`-Unterpaket wegfallen soll (Ersatz?).

In Pocoo selbst habe ich mir die verwendung von SA angesehen, finde sie aber etwas zu low-level. IIRC wird da oft ein Connection-Objekt mitgeschlurt, das finde ich für eine größere Abstraktion (die Pocoo offenbar nicht verwendet) nicht angemessen.

Es geht mir hier nicht darum, Elixir zu verteidigen oder zu rechtfertigen. Meiner Meinung nach ist es aber etwas, das einigermaßen SA um das erweitert, was mir (und nach der Popularität von SQLObject und Elixir) auch anderen fehlt. Nur weil etwas unter der Haube SQL *ist*, muss es noch lange nicht weiter oben noch zu sehen sein.
Antworten