if not exists (select * FROM sys.syscolumns where name = 'Password' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD Password nvarchar(128) NULL
END;

if not exists (select * FROM sys.syscolumns where name = 'PasswordSalt' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD PasswordSalt nvarchar(128) NULL
END;

if not exists (select * FROM sys.syscolumns where name = 'IsLockedOut' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD IsLockedOut bit NOT NULL DEFAULT 0
END;

if not exists (select * FROM sys.syscolumns where name = 'LastLoginDate' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD LastLoginDate datetime NULL
END;

if not exists (select * FROM sys.syscolumns where name = 'LastPasswordChangedDate' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD LastPasswordChangedDate datetime NULL
END;

if not exists (select * FROM sys.syscolumns where name = 'LastLockoutDate' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD LastLockoutDate datetime NULL
END;

if not exists (select * FROM sys.syscolumns where name = 'FailedPasswordAttemptCount' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD FailedPasswordAttemptCount int NOT NULL DEFAULT 0
END;

if not exists (select * FROM sys.syscolumns where name = 'FailedPasswordAttemptWindowStart' AND id = object_id(N'dbo.UserInfo')) BEGIN
  alter table dbo.UserInfo ADD FailedPasswordAttemptWindowStart datetime NULL
END;