OpenTransitTools / gtfsdb

GTFS ORM using SQLAlchemy
Mozilla Public License 2.0
157 stars 45 forks source link

SqlAlchemy - upgrade + version lock + other maintenance tasks #61

Open fpurcell opened 1 year ago

fpurcell commented 1 year ago

should have a versions.cfg lock file in this project lock to latest SqlAlchemy and other deps document any issues to upgrade to latest SqlAlchemy, if current code can't be easily up'd cut pypi release -- new major or point version?

DeflateAwning commented 5 months ago

Ran into the practical problems with this. I'm getting a version-related error trying to run this tool as a result of SqlAlchemy not being locked.

hfs commented 4 months ago

I ran into this error with SQLAlchemy 2.0.30:

Traceback (most recent call last):
  File ".../bin/gtfsdb-load", line 5, in <module>
    from gtfsdb.scripts import gtfsdb_load
  File ".../lib/python3.11/site-packages/gtfsdb/__init__.py", line 4, in <module>
    from gtfsdb.model.agency import Agency  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.11/site-packages/gtfsdb/model/agency.py", line 8, in <module>
    class Agency(Base):
  File ".../lib/python3.11/site-packages/gtfsdb/model/agency.py", line 14, in Agency
    id = Column(Integer, Sequence(None, optional=True), primary_key=True, nullable=True)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.11/site-packages/sqlalchemy/sql/schema.py", line 3864, in __init__
    self.name = quoted_name(name, quote)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 5171, in __new__
    value is not None
AssertionError: use quoted_name.construct() for None passthrough

The workaround was to pip3 install sqlalchemy==1.4.52

fpurcell commented 4 months ago

hfs ... just created a few new tickets, ala https://github.com/OpenTransitTools/gtfsdb/issues/65 etc... to help resolve the SqlAlchemy version issue.