SqlAlchemy Probleme mit Fremdschlüsseln
Ich erhalte den Fehler
Konnte die rfc1738-URL aus der Zeichenfolge 'MACHINE_IE' nicht analysieren
Wenn ich versuche, das folgende @ zu importier
class MACHINE(declarative_base()):
__tablename__ = 'MACHINE'
MACHINE_UID = Column(Integer, primary_key=True)
MACHINE_IP = Column(String)
MACHINE_NAME = Column(String)
MACHINE_INFO = Column(String)
class IE(declarative_base()):
__tablename__ = 'IE'
IE_UID = Column(Integer, primary_key=True)
IE_VERSION = Column(String)
IE_MAJOR = Column(String)
class MACHINE_IE(declarative_base().metadata):
__tablename__ = 'MACHINE_IE'
IE_UID = Column(Integer, ForeignKey("IE.IE_UID"), primary_key=True)
MACHINE_UID = Column(Integer, ForeignKey("MACHINE.MACHINE_UID"))
EFFECTIVE_DATE = Column(DateTime)
Wenn ich entferne
metadata
dann kann ich das Modul importieren und eine Abfrage für die Tabellen "MACHINE" und "IE" durchführen und die Daten aus den Zeilen anzeigen. Wenn ich jedoch "MACHINE_IE" abfrage und dann versuche, einige Daten aus der Abfrage anzuzeigen, erhalte ich das folgende
sqlalchemy.exc.NoReferencedTableError: Der der Spalte 'MACHINE_IE.IE_UID' zugeordnete Fremdschlüssel konnte die Tabelle 'IE' nicht finden, mit der ein Fremdschlüssel für die Zielspalte 'IE_UID' generiert werden soll.
Ich vermute, ich brauche "Metadaten", aber der Fehler scheint sich über die DB-Verbindungszeichenfolge zu beschweren, wenn ich sie verwende. Ich kann jedoch eine Verbindung zur Datenbank ohne Probleme herstellen, wenn "Metadaten" entfernt werden.
Hier sind die Verbindungsdaten
connect_string = "oracle+cx_oracle://{0}:{1}@{2}:{3}/{4}".format(user, pw, server, port, sid)
Jede Hilfe wird gebeten.