Added NDB.Infrastructure.DatabaseMigration
parent
f00c0d6269
commit
bcb7bf342a
|
@ -1,7 +1,7 @@
|
|||
<Project>
|
||||
<Import Project="dependencies.props" />
|
||||
<PropertyGroup>
|
||||
<Version>1.1.0</Version>
|
||||
<Version>1.1.1</Version>
|
||||
<Authors>Tudor Stanciu</Authors>
|
||||
<Company>STA</Company>
|
||||
<PackageTags>IdentityServer</PackageTags>
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="$(MicrosoftExtensionsPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsPackageVersion)" />
|
||||
<PackageReference Include="NDB.Extensions.Swagger" Version="$(NDBExtensionsSwaggerPackageVersion)" />
|
||||
<PackageReference Include="NDB.Infrastructure.DatabaseMigration" Version="$(NDBDatabaseMigrationPackageVersion)" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="$(SerilogPackageVersion)" />
|
||||
<PackageReference Include="Serilog.Extensions.Logging" Version="$(SerilogExtensionsPackageVersion)" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="$(SerilogSinksConsolePackageVersion)" />
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace IdentityServer.Api
|
|||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
var isConsole = Debugger.IsAttached || args.Contains("--console");
|
||||
var isConsole = args.Contains("--console");
|
||||
if (!isConsole)
|
||||
{
|
||||
var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using AutoMapper;
|
||||
using IdentityServer.Application;
|
||||
using IdentityServer.Application.Services.Abstractions;
|
||||
using IdentityServer.Domain.Data;
|
||||
|
@ -11,6 +10,8 @@ using Microsoft.Extensions.DependencyInjection;
|
|||
using Microsoft.Extensions.Hosting;
|
||||
using NDB.Extensions.Swagger;
|
||||
using NDB.Extensions.Swagger.Constants;
|
||||
using NDB.Infrastructure.DatabaseMigration;
|
||||
using NDB.Infrastructure.DatabaseMigration.Constants;
|
||||
using Newtonsoft.Json;
|
||||
using System.Reflection;
|
||||
|
||||
|
@ -44,6 +45,7 @@ namespace IdentityServer.Api
|
|||
services.AddSwagger("Identity Server API", AuthorizationType.None);
|
||||
|
||||
// Data access
|
||||
services.AddMigration(DatabaseType.SQLServer);
|
||||
services.AddDataAccess();
|
||||
|
||||
// Application
|
||||
|
@ -78,6 +80,8 @@ namespace IdentityServer.Api
|
|||
});
|
||||
app.ConfigureSwagger("IdentityServer API");
|
||||
|
||||
app.UseMigration();
|
||||
|
||||
var behaviorService = app.ApplicationServices.GetService<IBehaviorService>();
|
||||
behaviorService.FillTokenStore();
|
||||
}
|
||||
|
|
|
@ -12,4 +12,28 @@
|
|||
<ProjectReference Include="..\IdentityServer.Domain\IdentityServer.Domain.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Scripts\1.0.0\03.IDX_AppUser_Email_NOTNULL.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.0\02.AppUser table.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.0\01.UserStatus table.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.1\01.UserClaim table.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.1\02.UserToken table.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.1\03.***REMOVED***.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Scripts\1.0.1\04.***REMOVED***.sql">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
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,
|
||||
[Password] varchar(100) not null,
|
||||
CreationDate datetime constraint DF_AppUser_CreationDate default getdate()
|
||||
)
|
||||
end
|
||||
go
|
||||
|
||||
if not exists (select top 1 1 from AppUser)
|
||||
begin
|
||||
insert into AppUser(UserName, [Password])
|
||||
select '***REMOVED***', '***REMOVED***'
|
||||
end
|
||||
go
|
|
@ -7,7 +7,6 @@ begin
|
|||
StatusName varchar(50) not null
|
||||
)
|
||||
end
|
||||
go
|
||||
|
||||
if not exists (select top 1 1 from UserStatus)
|
||||
begin
|
||||
|
@ -15,5 +14,4 @@ begin
|
|||
select 'ACTIVE', 'Active' union
|
||||
select 'INACTIVE', 'Inactive' union
|
||||
select 'BLOCKED', 'Blocked'
|
||||
end
|
||||
go
|
||||
end
|
|
@ -0,0 +1,19 @@
|
|||
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(250) not null,
|
||||
FirstName varchar(100),
|
||||
LastName varchar(100),
|
||||
Email varchar(100),
|
||||
ProfilePictureUrl varchar(200),
|
||||
SecurityStamp varchar(200) not null constraint UQ_AppUser_SecurityStamp unique,
|
||||
StatusId int not null constraint FK_AppUser_UserStatus references UserStatus(StatusId),
|
||||
CreationDate datetime not null constraint DF_AppUser_CreationDate default getdate(),
|
||||
FailedLoginAttempts int,
|
||||
LastLoginDate datetime,
|
||||
PasswordChangeDate datetime
|
||||
)
|
||||
end
|
|
@ -0,0 +1,6 @@
|
|||
if not exists (select top 1 1 from sys.indexes where name = 'IDX_AppUser_Email_NOTNULL' AND object_id = OBJECT_ID('AppUser'))
|
||||
begin
|
||||
CREATE UNIQUE NONCLUSTERED INDEX IDX_AppUser_Email_NOTNULL
|
||||
ON AppUser(Email)
|
||||
WHERE Email IS NOT NULL
|
||||
end
|
|
@ -7,5 +7,4 @@ begin
|
|||
ClaimKey varchar(50) not null,
|
||||
ClaimValue varchar(300) not null
|
||||
)
|
||||
end
|
||||
go
|
||||
end
|
|
@ -1,48 +0,0 @@
|
|||
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),
|
||||
ProfilePictureUrl varchar(200),
|
||||
SecurityStamp varchar(200) not null constraint UQ_AppUser_SecurityStamp unique,
|
||||
StatusId int not null constraint FK_AppUser_UserStatus references UserStatus(StatusId),
|
||||
CreationDate datetime not null constraint DF_AppUser_CreationDate default getdate(),
|
||||
FailedLoginAttempts int,
|
||||
LastLoginDate datetime,
|
||||
PasswordChangeDate datetime
|
||||
)
|
||||
end
|
||||
go
|
||||
|
||||
if not exists (select top 1 1 from sys.indexes where name = 'IDX_AppUser_Email_NOTNULL' AND object_id = OBJECT_ID('AppUser'))
|
||||
begin
|
||||
CREATE UNIQUE NONCLUSTERED INDEX IDX_AppUser_Email_NOTNULL
|
||||
ON AppUser(Email)
|
||||
WHERE Email IS NOT NULL
|
||||
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
|
|
@ -9,5 +9,4 @@ begin
|
|||
ValidUntil datetime not null,
|
||||
Burnt bit
|
||||
)
|
||||
end
|
||||
go
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
if not exists (select top 1 1 from AppUser where UserName = '***REMOVED***')
|
||||
begin
|
||||
declare @activeStatusId int
|
||||
select @activeStatusId = StatusId from UserStatus where StatusCode = 'ACTIVE'
|
||||
|
||||
insert into AppUser(UserName, [Password], FirstName, CreationDate, SecurityStamp, StatusId)
|
||||
select '***REMOVED***' as UserName,
|
||||
'***REMOVED***' as [Password],
|
||||
***REMOVED*** as FirstName,
|
||||
getdate() as CreationDate,
|
||||
cast(newid() as varchar(100)) as SecurityStamp,
|
||||
@activeStatusId as StatusId
|
||||
end
|
|
@ -0,0 +1,16 @@
|
|||
if not exists (select top 1 1 from AppUser where UserName = '***REMOVED***')
|
||||
begin
|
||||
declare @activeStatusId int
|
||||
select @activeStatusId = StatusId from UserStatus where StatusCode = 'ACTIVE'
|
||||
|
||||
insert into AppUser(UserName, [Password], FirstName, LastName, Email, ProfilePictureUrl, CreationDate, SecurityStamp, StatusId)
|
||||
select '***REMOVED***' as UserName,
|
||||
'***REMOVED***' as [Password],
|
||||
***REMOVED*** as FirstName,
|
||||
***REMOVED*** as LastName,
|
||||
'***REMOVED******REMOVED***' as Email,
|
||||
***REMOVED*** as ProfilePictureUrl,
|
||||
getdate() as CreationDate,
|
||||
cast(newid() as varchar(100)) as SecurityStamp,
|
||||
@activeStatusId as StatusId
|
||||
end
|
|
@ -30,4 +30,10 @@
|
|||
◾ Upgrade packages MicrosoftExtensions, AutoMapper, EntityFramework, NDB
|
||||
</Content>
|
||||
</Note>
|
||||
<Note>
|
||||
<Version>1.1.1</Version>
|
||||
<Content>
|
||||
◾ Added NDB.Infrastructure.DatabaseMigration
|
||||
</Content>
|
||||
</Note>
|
||||
</ReleaseNotes>
|
Loading…
Reference in New Issue