我在数据库中添加了一个名为 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值?