Sqlalchemy | Übergabe von Tabellen-Strukturen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
pengo
User
Beiträge: 15
Registriert: Dienstag 10. Oktober 2006, 22:28

Hallo liebe Pythons ;),

ich stehe mal wieder auf dem Schlauch :) (Was ganz neues).

Ich wollte ein ein kleine Klasse schreiben die mit Sqlalchemy arbeitet.
Nun wollte ich an eine funktion in der Klasse die Tabellen-Struktur
für die Metadaten übergeben.
Damit falls die Tabelle noch nicht angelegt ist sie angelegt werden kann.

ich würde gerne die Tabellen-Struktur in folgenden Format übergeben

Code: Alles auswählen

table = {"column1": ["Integer", "primary_key=True"],
             "column2": ["String"] }
Sqlalchemy legt folgender weise Metadaten zu einer Tabelle an

Code: Alles auswählen

users = Table('users', metadata,
     Column('column1', Integer, primary_key=True),
     Column('column2', String),
... )
Mir fällt nun keine anständige Lösung ein wie ich ein Liste erstelle die eine Funktion enthält die wiederum eine unbekannt Anzahl an Funktion zugewiesen bekommt.


Nun hätte ich gerne eine kleine Anregung wie ich das ganze schön lösen kann :). Ich
weiß immer nur nehmen :).

Falls ich das Problem nicht richtig erklärt habe, was ich jetzt einfach auf meinen verwirrten Zustand zurück führe, schreit einfach :).

Vielen Dank und schöne Grüße pengo
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Darf man fragen, warum du das willst?
Benutzeravatar
pengo
User
Beiträge: 15
Registriert: Dienstag 10. Oktober 2006, 22:28

Ich wollte die Klasse so schreiben das ich mich nicht weiter um die irgend welche
Datenbank Geschichten kümmern muss. Kann auch gut sein das das der völlig falsche Ansatz ist und das man das ganz anders erledigen. Auserdem hat es mich jetzt einfach interessiert.

Wahrscheinlich wäre die Klasse so nicht nötig wenn ich jetzt so drüber nach denke *jaja*.
Aber würde mich trotzdem interessieren.

Gruß pengo
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

pengo hat geschrieben:Mir fällt nun keine anständige Lösung ein wie ich ein Liste erstelle die eine Funktion enthält die wiederum eine unbekannt Anzahl an Funktion zugewiesen bekommt.
Ich habe Schwierigkeiten, diesen Satz zu dekodieren, aber Funktionen, denen man beliebig viele Argumente übergeben kann, lassen sich in Python so definieren:

Code: Alles auswählen

def f(*args):
    return len(args)
Was ist dir übrigens an dem SQLalchemy-Code nicht abstrakt genug? Das dort Klassen Table und Column vorkommen? Nimm dort doch einfach Strings oder besser noch eigene Funktionen, die dann ggf. die SQLalchemy-Objekte zurückgeben können.

Stefan
Benutzeravatar
pengo
User
Beiträge: 15
Registriert: Dienstag 10. Oktober 2006, 22:28

Hallo zusammen,

danke noch nachträglich für die Antworten.

habe mich jetzt noch ausführlicher mit SQLalchemy beschäfftigt,
jetzt ist mir so einiges klar geworden, oder so was in der art ;-).

Gruß pengo
Antworten