ksindi / flask-sqlacodegen

:sake: Automatic model code generator for SQLAlchemy with Flask support
Other
336 stars 60 forks source link

AttributeError: module 'sqlalchemy' has no attribute '__all__'. Did you mean: '__file__'? #50

Open nianqinianyi opened 1 year ago

nianqinianyi commented 1 year ago

versions: python==3.10

PyMySQL==1.1.0 SQLAlchemy==2.0.20 flask-sqlacodegen==2.0.0

error command: flask-sqlacodegen 'mysql+pymysql://username:password@ip:port/db' --outfile './models.py'

success command: flask-sqlacodegen 'mysql+pymysql://username:password@ip:port/db' --outfile './models.py' --flask

I want generator the models without flask, so I remove the param '--flask', but it has errors.

when I user old versions of SQLAlchemy, the command run successfully: PyMySQL==0.9.3 SQLAlchemy==1.3.17 flask-sqlacodegen==1.1.8

shanghaobo commented 1 year ago

我也遇到这个问题了,请问你最后是怎么解决的?

nianqinianyi commented 1 year ago

我也遇到这个问题了,请问你最后是怎么解决的?

没解决,用老版本SQLAlchemy生成,然后拷过来

ebram96 commented 5 months ago

@nianqinianyi What is the version that has worked with you?

siparker commented 1 month ago

on line 230 of codegen.py

change

pkgname = 'sqlalchemy' if type_.__name__ in sqlalchemy.__all__ else type_.__module__

to

pkgname = type_.__module__

Works for me on sqlqlchemy 2.0.27 using flask sqlalchemy 3.1.1 and latest flask_sqlacodegen