Tengo el mismo problema, y una idea de utilizar la biblioteca de migración solo para esta cosa trivial me hace
temblar. De todos modos, este es mi intento hasta el momento:
def add_column(engine, table_name, column):
column_name = column.compile(dialect=engine.dialect)
column_type = column.type.compile(engine.dialect)
engine.execute('ALTER TABLE %s ADD COLUMN %s %s' % (table_name, column_name, column_type))
column = Column('new column', String(100), primary_key=True)
add_column(engine, table_name, column)
Aún así, no sé cómo insertar primary_key=True
a petición SQL en bruto.
¿Debo migrar toda la base de datos solo para agregar una columna? Eso no suena divertido. ¡Gracias! – Chris
Entonces, para ALTER TABLE, ¿puedo hacerlo a través de SQLAlchemy (es decir, admite escribir SQLite directamente)? Pero me ocuparé de la migración – Chris
No, SQLAlchemy no admite la modificación de la tabla de la base de datos, solo la creación. Tendrás que hacer el 'ALTER' a través de sqlite3. –