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.