Flask-SQLAlchemy-Lite support for flask-migrate
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 5.1k
- Forks
- 2.1k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 82
Descripción
Flask-SQLAlchemy-Lite was just released which is intended to be a replacement for Flask-SQLAlchemy.
https://flask-sqlalchemy-lite.readthedocs.io/en/stable/
With that there is then a type conflict with flask_migrate:
https://github.com/python/typeshed/blob/main/stubs/Flask-Migrate/flask_migrate/__init__.pyi#L52
It expects flask_sqlalchemy.extension.SQLAlchemy, but flask_sqlalchemy_lite._extension.SQLAlchemy is now a compatible alternative
I'm pretty new to python so I'm not sure what the best approach to allow the flask_migrate typings to allow both.
Would it work to:
# ...
from flask_sqlalchemy import SQLAlchemy
from flask_sqlalchemy_lite import SQLAlchemy as SQLAlchemyLite
# ...
class Migrate:
configure_callbacks: list[_ConfigureCallback]
db: SQLAlchemy | SQLAlchemyLite | None
# ...
Or is there a better approach?
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el stub de Flask-Migrate en stubs/Flask-Migrate/flask_migrate/init.pyi, especialmente con el tipo SQLAlchemy alrededor de la línea 52, y revisa la documentación enlazada de Flask-SQLAlchemy-Lite. Determina un enfoque de tipado que acepte ambas implementaciones de SQLAlchemy sin introducir un conflicto de importación o compatibilidad; estará terminado cuando el stub admita correctamente cualquiera de las dos integraciones.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- flask, python, sqlalchemy
- Área
- backend, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100