Ich habe eine Datenbank, in der der Primärschlüssel 256 Byte Daten sein soll, die eine ID ist, die ich von einer anderen Anwendung bekomme.Verwenden eines Blob als Primärschlüssel in SQLAlchemy mit MySQL-Datenbank
Mein Problem ist SQLAlchemy gibt keinen length-Parameter für einen Primärschlüssel aus, auch wenn das Feld, das es betrifft, es bei der Verwendung create_all
angegeben hat.
Modell
class Route(db.Model):
assignmentId = db.Column(db.Binary(256), primary_key=True, nullable=False)
Dinge, die ich habe versucht
- Providing
mysql_length
in den PrimaryKey Tabellenoptionen, aber das wird abgelehnt und somit nicht funktioniert. Fehler:
sqlalchemy.exc.ArgumentError: Argument 'mysql_length' is not accepted by dialect 'mysql' on behalf of <class 'sqlalchemy.sql.schema.PrimaryKeyConstraint'
Erstellen von Tabellen über manuell eine SQL-Anweisung ausgeben, die den erforderlichen Längenparameter enthält (Works, aber ich würde wirklich zu vermeiden, mag die ORM so ausweicht)
Andere Sachen, die nicht
ich weiß, zu nichts geführt haben mein pro blem ist ziemlich spezifisch, aber jede Hilfe zu einer Lösung wird wirklich geschätzt. Danke :)
ich die Gültigkeit auch in der Anwendung überprüfen, aber die Primärschlüsselbedingung ist als Sicherheitsnetz fungieren soll und wurde angegeben, damit ich wahrscheinlich damit rennen muss. – Andreas