Actualmente, cada vez que se inicia la aplicación se crean las todas las tablas mediante:
SQLModel.metadata.create_all(engine)
Esto crea las tablas con el SQL IF NOT EXISTS, es decir, si las tablas ya existen entonces no se modifican para alterar la columnas cuando surgen cambios en los modelos. Debe haber un manejo del estado/versionamiento del schema para permitir hacer cambios cuando sea necesario, sin tener que rehacer la BDD completamente de nuevo.
Probablemente la mejor solución sea usar Alembic (un motor de migraciones para SQLAlchemy). Como referecia dejo esta issue de SQLModel que explica como se puede realizar esta implementación.
Actualmente, cada vez que se inicia la aplicación se crean las todas las tablas mediante:
Esto crea las tablas con el SQL
IF NOT EXISTS, es decir, si las tablas ya existen entonces no se modifican para alterar la columnas cuando surgen cambios en los modelos. Debe haber un manejo del estado/versionamiento del schema para permitir hacer cambios cuando sea necesario, sin tener que rehacer la BDD completamente de nuevo.Probablemente la mejor solución sea usar Alembic (un motor de migraciones para SQLAlchemy). Como referecia dejo esta issue de SQLModel que explica como se puede realizar esta implementación.