diff options
| author | Nathan Guse <nathaniel.guse@gmail.com> | 2013-01-15 22:24:58 -0600 | 
|---|---|---|
| committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-01-15 22:24:58 -0600 | 
| commit | e9a3f090742d0acaa42bc0e381e8b1860a296eec (patch) | |
| tree | 727b70bad1c76e33c3f309dea7a8c6386bdccd77 | |
| parent | 227f7f46dfdba990242c96f6d6e27f0d12ab4784 (diff) | |
| parent | a9cf558af7fc08539e15ceca1e889e087c815c8d (diff) | |
| download | forums-e9a3f090742d0acaa42bc0e381e8b1860a296eec.tar forums-e9a3f090742d0acaa42bc0e381e8b1860a296eec.tar.gz forums-e9a3f090742d0acaa42bc0e381e8b1860a296eec.tar.bz2 forums-e9a3f090742d0acaa42bc0e381e8b1860a296eec.tar.xz forums-e9a3f090742d0acaa42bc0e381e8b1860a296eec.zip  | |
Merge remote-tracking branch 'remotes/Sajaki/ticket/10854' into develop-olympus
# By Sajaki
# Via Sajaki
* remotes/Sajaki/ticket/10854:
  [ticket/10854] sql server drop default constraint when dropping column
| -rw-r--r-- | phpBB/includes/db/db_tools.php | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php index c6dd23e6bd..f63ff18cbe 100644 --- a/phpBB/includes/db/db_tools.php +++ b/phpBB/includes/db/db_tools.php @@ -1819,6 +1819,22 @@ class phpbb_db_tools  			case 'mssql':  			case 'mssqlnative': +				// remove default cosntraints first +				// http://msdn.microsoft.com/en-us/library/aa175912%28v=sql.80%29.aspx +				$statements[] = "DECLARE @drop_default_name VARCHAR(100), @cmd VARCHAR(1000) +					SET @drop_default_name = +						(SELECT so.name FROM sysobjects so +						JOIN sysconstraints sc ON so.id = sc.constid +						WHERE object_name(so.parent_obj) = '{$table_name}' +							AND so.xtype = 'D' +							AND sc.colid = (SELECT colid FROM syscolumns +								WHERE id = object_id('{$table_name}') +									AND name = '{$column_name}')) +					IF @drop_default_name <> '' +					BEGIN +						SET @cmd = 'ALTER TABLE [{$table_name}] DROP CONSTRAINT [' + @drop_default_name + ']' +						EXEC(@cmd) +					END";  				$statements[] = 'ALTER TABLE [' . $table_name . '] DROP COLUMN [' . $column_name . ']';  			break;  | 
