Ошибка Flask-Alembic sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) тип не существует - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь автоматизировать обновление базы данных для проекта, написанного на Flask.Я использую alembic для Flask.

Проблема в том, что когда я использую несколько перечислений, всегда запускается ошибка второго перечисления, я не понимаю, почему и как это исправить.

Перечисления файлов.py:

from enum import Enum

class A(Enum):
    i = 'i'
    a = 'a'

class B(Enum):
    a = 'a'
    b = 'b'

Модель, которая их использует:

from enums import A, B

class Test(db.Model):
    status_a = db.Column(db.Enum(A)) 
    status_b = db.Column(db.Enum(B))

Сейчас я делаю обновление:

from libs import alembic
alembic.revision()
alembic.upgrade()

Это всегда ловит ошибку навторое перечисление:

sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) type "b" does not exist

Что делать?Я нашел некоторые решения, но я не знаю, как их использовать, и не совсем понимаю, что происходит.

Обновление: код миграции:

def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('Account', sa.Column('activity_status', sa.Enum('inactive1', 'active1', name='abd'), nullable=True))
op.drop_column('Account', 'valid_status')
# ### end Alembic commands ###

Спасибо.

...