tuitio/IdentityServer.Domain.Data/Scripts/1.0.1/02.New structure for AppUse...

40 lines
1.4 KiB
Transact-SQL

if exists (select top 1 1 from sys.objects where name = 'AppUser' and type = 'U')
and not exists(select top 1 1 from sys.columns where name = 'SecurityStamp' and object_id = object_id('AppUser'))
begin
select * into #TmpAppUser from AppUser
drop table AppUser
end
if not exists (select top 1 1 from sys.objects where name = 'AppUser' and type = 'U')
begin
create table AppUser
(
UserId int identity(0, 1) constraint PK_AppUser primary key,
UserName varchar(100) not null constraint UQ_AppUser_UserName unique,
[Password] varchar(100) not null,
FirstName varchar(100),
LastName varchar(100),
Email varchar(100) constraint UQ_AppUser_Email unique,
ProfilePictureUrl varchar(200),
SecurityStamp varchar(200) constraint UQ_AppUser_SecurityStamp unique,
StatusId int constraint FK_AppUser_UserStatus references UserStatus(StatusId),
CreationDate datetime constraint DF_AppUser_CreationDate default getdate(),
FailedLoginAttempts int,
LastLoginDate datetime,
PasswordChangeDate datetime
)
end
go
if not exists (select top 1 1 from AppUser)
begin
declare @activeStatusId int
select @activeStatusId = StatusId from UserStatus where StatusCode = 'ACTIVE'
insert into AppUser(UserName, [Password], CreationDate, SecurityStamp, StatusId)
select UserName, [Password], CreationDate, cast(newid() as varchar(100)), @activeStatusId as StatusId
from #TmpAppUser
drop table #TmpAppUser
end
go