summaryrefslogtreecommitdiff
path: root/www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql')
-rw-r--r--www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql b/www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql
new file mode 100644
index 00000000..cf9b5658
--- /dev/null
+++ b/www/wiki/maintenance/mssql/archives/patch-categorylinks-constraints.sql
@@ -0,0 +1,20 @@
+DECLARE @baseSQL nvarchar(max),
+ @SQL nvarchar(max),
+ @id sysname;--
+
+SET @baseSQL = 'ALTER TABLE /*_*/categorylinks DROP CONSTRAINT ';--
+
+SELECT @id = cc.name
+FROM sys.check_constraints cc
+JOIN sys.columns c
+ ON c.object_id = cc.parent_object_id
+ AND c.column_id = cc.parent_column_id
+WHERE
+ cc.parent_object_id = OBJECT_ID('/*_*/categorylinks')
+ AND c.name = 'cl_type';--
+
+SET @SQL = @baseSQL + @id;--
+
+EXEC sp_executesql @SQL;--
+
+ALTER TABLE /*_*/categorylinks ADD CONSTRAINT cl_type_ckc CHECK (cl_type IN('page', 'subcat', 'file'));