SQLAlchemy: ¿Cómo agregar una columna a una tabla existente?
Estoy intentando agregar un campo o columna a una tabla existente usando SQLAchemy.
A continuación se muestra la clase de tabla.
class ReleaseVersion(Base):
__tablename__ = 'versions'
id = Column(Integer, primary_key=True, autoincrement=True)
release = Column(String(128), nullable=False, unique=True)
def __init__(self,release, id=None):
if(id):
self.id = id
self.release = release
Inicialicé la tabla usando la siguiente línea
myDB.ReleaseVersion.__table__.create(bind=self.engine, checkfirst=True)
Después de usar la base de datos durante algún tiempo, necesito agregar un campo booleano, 'is_currentversion' manteniendo todo el contenido existente de la tabla, pero no estoy tan seguro de cómo hacerlo.
¿Debo crear manualmente el campo en la tabla y actualizar la clase? Alternativamente, ¿agregar el campo en la clase de tabla y agregar la columna si no existe en la función de inicialización?
Aceptado
Simplemente puede agregar una columna en su modelo y luego ejecutar los siguientes comandos.
flask db migrate -m "Your Message."
Entonces corre:
flask db upgrade
Ahora revisa tu base de datos. Además, puedes tomar referencia desde aquí.