Flask - изменить тип столбца в существующей базе данных - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть следующая модель в существующей базе данных:

class Advert(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime, nullable=False, default = datetime.utcnow)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable = False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    category = db.Column(db.String(50), nullable=False, unique=True)

Я просто хочу удалить unique = True из моей модели. Как это сделать?

1 Ответ

1 голос
/ 18 февраля 2020

Я хотел бы предложить использовать Alembi c для переноса базы данных.

Допустим, если вы хотите изменить таблицу. Просто создайте пустую схему миграции alembic revision -m "alter table"

, тогда вы можете добавить сюда альтернативу:

from alembic import op
import sqlalchemy as sa

revision = 'xxx'
down_revision = 'xxx'

def upgrade():
    op.execute('ALTER TABLE xx ... ')
    # Add the ALTER query here

def downgrade():
    pass
    # Add the ALTER query here
...