Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

214
Visualizações
Alembic doesn't recognize False default value

While maintaining a SQLAlchemy data model and utilizing alembic for version control, the following code change I made resulted in an empty revision:

some_column = Column(Boolean, nullable=False, default=False)

While previously it was:

some_column = Column(Boolean, nullable=False)

So adding a default value produces no changes in alembic, i.e. generates an empty revision. I tried other values offered by SQLAlchemy like false() and expression.false() instead of False, but the result is the same (empty alembic revision). Also tried server_default instead of default. The database in question is PostgreSQL.

By empty revision, of course I mean that alembic doesn't recognize any change being made in SQLAlchemy:

def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    pass
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    pass
    # ### end Alembic commands ###

Appreciate any help in this regard.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

To do this automatically you have to turn on a setting to detect server default changes.

In your env.py, for the context.configure calls (online and offline migrations, so in 2 places), add a compare_server_default=True kwarg.

It is probably safer to just put in the alter_column yourself as well as definitely use server_default because default is just for python-side setting of the default(which is ok but sounds like not what you want).

Quoted from https://alembic.sqlalchemy.org/en/latest/autogenerate.html#what-does-autogenerate-detect-and-what-does-it-not-detect

Autogenerate can optionally detect:

...

Change of server default. This will occur if you set the EnvironmentContext.configure.compare_server_default parameter to True, or to a custom callable function. This feature works well for simple cases but cannot always produce accurate results.

...

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda