数据库迁移文件-将已分配的值更改为列

时间:2019-07-04 10:28:30

标签: mysql flask-sqlalchemy database-migration alembic

我在数据库中添加了一个名为 flag 的新列,该列包含布尔值,并且具有nullable=False属性,并且已使用alembic为它生成了一个迁移文件。数据库中所有先前的条目都将空值分配给新列。 如果我将其设置为CREATE TABLE PivotTable (Id INT,Value VARCHAR(100),[Type] VARCHAR(100)) INSERT INTO PivotTable VALUES (1,'ABC Bank','Bank') ,(1,'User','Name') ,(1,'123','IDs') ,(1,'user@email.com','Email') ,(1,'Banking','Reference') SELECT * FROM PivotTable DECLARE @Columns NVARCHAR(MAX), @SQL NVARCHAR(MAX) SET @Columns = STUFF((SELECT DISTINCT ','+[Type] FROM PivotTable FOR XML PATH('')),1,1,'') SET @SQL = 'SELECT Id,'+@Columns+' FROM ( SELECT Id, Value, [Type] FROM PivotTable ) P PIVOT ( MAX(Value) FOR [Type] IN ('+@Columns+') )pvt' EXEC (@SQL) ,那么如何为它创建新的迁移,以及如何为数据库中已经存储的条目分配False值?

0 个答案:

没有答案