SQLAlchemy: ¿Cómo agregar una columna a una tabla existente?

Resuelto Kay asked hace 5 años • 2 respuestas

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?

Kay avatar Mar 21 '19 05:03 Kay
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í.

Rishabh Jhalani avatar Dec 15 '2020 07:12 Rishabh Jhalani