Skip to content

Instantly share code, notes, and snippets.

@Paradroid888
Last active July 29, 2016 10:30
Show Gist options
  • Save Paradroid888/758031032cbb7bd45ea2d6a6f9e63fac to your computer and use it in GitHub Desktop.
Save Paradroid888/758031032cbb7bd45ea2d6a6f9e63fac to your computer and use it in GitHub Desktop.
Useful SQL migration patterns
--ADDING A COLUMN
IF NOT EXISTS(SELECT * FROM sys.columns WHERE Name = N'NewColumnName' AND Object_ID = Object_ID(N'ExistingTableName'))
BEGIN
ALTER TABLE ExistingTableName
ADD [NewColumnName] BIT
END
--DROPPING A COLUMN
IF EXISTS(SELECT * FROM sys.columns WHERE Name = N'NewColumnName' AND Object_ID = Object_ID(N'ExistingTableName'))
BEGIN
ALTER TABLE ExistingTableName
DROP COLUMN [NewColumnName]
END
--ADDING A COLUMN WITH CONSTRAINT
IF NOT EXISTS(SELECT * FROM sys.columns WHERE Name = N'NewColumnName' AND Object_ID = Object_ID(N'ExistingTableName'))
BEGIN
ALTER TABLE ExistingTableName
ADD NewColumnName INT NOT NULL CONSTRAINT DF_ExistingTableName_NewColumnName DEFAULT 0
END
--DROPPING A COLUMN WITH CONSTRAINT
IF EXISTS(SELECT * FROM sys.columns WHERE Name = N'NewColumnName' AND Object_ID = Object_ID(N'ExistingTableName'))
BEGIN
ALTER TABLE dbo.ExistingTableName DROP CONSTRAINT DF_ExistingTableName_NewColumnName
ALTER TABLE ExistingTableName
DROP COLUMN NewColumnName
END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment