without script query example python flask alembic flask-migrate

python - query - flask-script



Cómo autoimportar el módulo en migración de matraz migrar (1)

La forma más directa es modificar la plantilla para incluir esa importación.

script.py.mako :

... from alembic import op import sqlalchemy as sa import sqlalchemy_utils ${imports if imports else ''''} ...

Si tiene varios módulos que proporcionan tipos personalizados, puede usar la estrategia descrita en los documentos . Cree un módulo en su proyecto que importe los diferentes módulos, luego configúrelo como el prefijo que Alambic debería usar para los tipos de usuario.

/myapp/migration_types.py :

from sqlalchemy_utils import * from myapp.custom_model_type import MyType

script.py.mako :

... from myapp import migration_types ...

env.py :

... def run_migrations_online(): ... context.configure( ... user_module_prefix=''migration_types.'', ... ) ...

El proyecto de mi matraz utiliza sqlalchemy_utils en algunas de sus definiciones de modelo, lo que provoca errores de migración como:

NameError: global name ''sqlalchemy_utils'' is not defined

debido a que este paquete no se importa en los archivos de migración.

Me gustaría que el matraz-migrar / alambique genere automáticamente las líneas que importan este paquete en los archivos de migración, ¿cómo lo logro?

Miré a alembic.ini y migrations / env.py, pero no es obvio para mí cuál es la forma correcta / si es posible.