python - Flask - 更改现有数据库中的列类型
问题描述
我在现有数据库中有以下模型:
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 。怎么做?
解决方案
我想建议使用Alembic进行数据库迁移。
假设您要更改表格。只需创建一个空方案迁移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
推荐阅读
- curl - 如何在 post curl 中发送请求正文
- flexbox - Tailwind Flex - 宽度全尺寸
- python - 对类内部的线程使用 Thread.join() 方法
- java - 如何使用 Java 将字符串列表写入 Amazon s3 文件
- github - 如何在 GitHub 操作中签出特定的子模块分支?
- javascript - Ckeditor5 - “小部件工具栏没有项目” {toolbarId: 'mediaEmbed'}
- prolog - Create Prolog 2d list filled with 0
- javascript - How to delete all messages that have URLs that are not www.youtube.com or www.twitter.com
- python - Reload flask app when code changes and idle
- r - Is there a way to view my active objects/files in Visual Studio Code similar to R Studio environment?