Use @DBNAME

if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'MaxPassChangePerDay' AND Object_ID = Object_ID(N'SYSTEM'))
BEGIN
	Execute('ALTER TABLE dbo.SYSTEM ADD
		     MaxPassChangePerDay numeric(6, 0)  NULL  ')
END


--اضافه کردن نوع رمزنگاری کلمه عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'EncryptionType' AND Object_ID = Object_ID(N'SYSTEM'))
BEGIN
	Execute('ALTER TABLE dbo.SYSTEM ADD
		     EncryptionType smallint NOT NULL  DEFAULT 0')
END

--اضافه کردن نوع رمزنگاری کلمه عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'EncryptionType' AND Object_ID = Object_ID(N'SYSTEM'))
BEGIN
	Execute('ALTER TABLE dbo.SYSTEM ADD
		     EncryptionType smallint NOT NULL  DEFAULT 0')
END


--اضافه کردن نوع رمزنگاری کلمه عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'EncryptionType' AND Object_ID = Object_ID(N'Person'))
BEGIN
	Execute('ALTER TABLE dbo.Person ADD
		     EncryptionType smallint NOT NULL  DEFAULT 0')
END

--تغییر نوع فیلد ‍‍‍‍‍‍کلمه عبور از char(255) به nvarchar(2000)
if(SELECT DATA_TYPE  FROM INFORMATION_SCHEMA.COLUMNS
    WHERE  TABLE_NAME = 'Person' AND COLUMN_NAME = 'PwdP') = 'char'
BEGIN
	Execute('ALTER Table dbo.Person
				Alter Column PwdP nvarchar(2000) null')
END


if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'EncryptionType' AND Object_ID = Object_ID(N'webkartSetting'))
BEGIN
	Execute('ALTER TABLE dbo.webkartSetting ADD
		     EncryptionType smallint NOT NULL  DEFAULT 0')
END

--تغییر نوع فیلد ‍‍‍‍‍‍کلمه عبور از char(255) به nvarchar(2000)
if(SELECT DATA_TYPE  FROM INFORMATION_SCHEMA.COLUMNS
    WHERE  TABLE_NAME = 'WebkartSetting' AND COLUMN_NAME = 'adminPWD') = 'char'
BEGIN
	Execute('ALTER Table dbo.WebkartSetting
				Alter Column adminPWD nvarchar(2000) null')
END



--اضافه کردن نوع رمزنگاری کلمه عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'EncryptionType' AND Object_ID = Object_ID(N'Users'))
BEGIN
	Execute('ALTER TABLE dbo.Users ADD
		     EncryptionType smallint NOT NULL  DEFAULT 0')
END


--تغییر نوع فیلد ‍‍‍‍‍‍کلمه عبور از char(250) به nvarchar(2000)
if(SELECT DATA_TYPE  FROM INFORMATION_SCHEMA.COLUMNS
    WHERE  TABLE_NAME = 'Users' AND COLUMN_NAME = 'Password') = 'char'
BEGIN
	Execute('ALTER Table dbo.Users
				Alter Column Password nvarchar(2000) null')
END



--اضافه کردن فیلد چک کردن تاریخ تاریخچه نگهداری کلمات عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'IsRepeatPassInRangeDate' AND Object_ID = Object_ID(N'System'))
BEGIN
	Execute('ALTER TABLE dbo.System ADD
		     IsRepeatPassInRangeDate bit NOT NULL  DEFAULT 0')
END

--اضافه کردن فیلد تعداد روزهای چک کردن تاریخ تاریخچه نگهداری کلمات عبور  
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'LongLifePassDays' AND Object_ID = Object_ID(N'System'))
BEGIN
	Execute('ALTER TABLE dbo.System ADD
		     LongLifePassDays int NOT NULL  DEFAULT 0')
END


--اضافه کردن تارخ به تاریخچه نگهداری کلمات عبور
if NOT EXISTS(SELECT * FROM sys.columns 
            WHERE Name = N'PersistOn' AND Object_ID = Object_ID(N'PasswordStorage'))
BEGIN
	Execute('ALTER TABLE dbo.PasswordStorage ADD
		     PersistOn datetime NOT NULL  DEFAULT CONVERT(date, getdate())')
END

--تغییر نوع فیلد ‍‍‍‍‍‍کلمه عبور از char(10) به nvarchar(2000)
if(SELECT DATA_TYPE  FROM INFORMATION_SCHEMA.COLUMNS
    WHERE  TABLE_NAME = 'PasswordStorage' AND COLUMN_NAME = 'Password') = 'char'
BEGIN
	Execute('ALTER Table dbo.PasswordStorage
				Alter Column Password nvarchar(2000) null')
END



