USE [master] GO /****** Object: Database [PermissionService] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE DATABASE [PermissionService] CONTAINMENT = NONE ON PRIMARY ( NAME = N'PermissionService', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\PermissionService.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON ( NAME = N'PermissionService_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\PermissionService_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB ) WITH CATALOG_COLLATION = DATABASE_DEFAULT GO ALTER DATABASE [PermissionService] SET COMPATIBILITY_LEVEL = 150 GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [PermissionService].[dbo].[sp_fulltext_database] @action = 'enable' end GO ALTER DATABASE [PermissionService] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [PermissionService] SET ANSI_NULLS OFF GO ALTER DATABASE [PermissionService] SET ANSI_PADDING OFF GO ALTER DATABASE [PermissionService] SET ANSI_WARNINGS OFF GO ALTER DATABASE [PermissionService] SET ARITHABORT OFF GO ALTER DATABASE [PermissionService] SET AUTO_CLOSE ON GO ALTER DATABASE [PermissionService] SET AUTO_SHRINK OFF GO ALTER DATABASE [PermissionService] SET AUTO_UPDATE_STATISTICS ON GO ALTER DATABASE [PermissionService] SET CURSOR_CLOSE_ON_COMMIT OFF GO ALTER DATABASE [PermissionService] SET CURSOR_DEFAULT GLOBAL GO ALTER DATABASE [PermissionService] SET CONCAT_NULL_YIELDS_NULL OFF GO ALTER DATABASE [PermissionService] SET NUMERIC_ROUNDABORT OFF GO ALTER DATABASE [PermissionService] SET QUOTED_IDENTIFIER OFF GO ALTER DATABASE [PermissionService] SET RECURSIVE_TRIGGERS OFF GO ALTER DATABASE [PermissionService] SET ENABLE_BROKER GO ALTER DATABASE [PermissionService] SET AUTO_UPDATE_STATISTICS_ASYNC OFF GO ALTER DATABASE [PermissionService] SET DATE_CORRELATION_OPTIMIZATION OFF GO ALTER DATABASE [PermissionService] SET TRUSTWORTHY OFF GO ALTER DATABASE [PermissionService] SET ALLOW_SNAPSHOT_ISOLATION OFF GO ALTER DATABASE [PermissionService] SET PARAMETERIZATION SIMPLE GO ALTER DATABASE [PermissionService] SET READ_COMMITTED_SNAPSHOT ON GO ALTER DATABASE [PermissionService] SET HONOR_BROKER_PRIORITY OFF GO ALTER DATABASE [PermissionService] SET RECOVERY SIMPLE GO ALTER DATABASE [PermissionService] SET MULTI_USER GO ALTER DATABASE [PermissionService] SET PAGE_VERIFY CHECKSUM GO ALTER DATABASE [PermissionService] SET DB_CHAINING OFF GO ALTER DATABASE [PermissionService] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) GO ALTER DATABASE [PermissionService] SET TARGET_RECOVERY_TIME = 60 SECONDS GO ALTER DATABASE [PermissionService] SET DELAYED_DURABILITY = DISABLED GO ALTER DATABASE [PermissionService] SET QUERY_STORE = OFF GO USE [PermissionService] GO /****** Object: Table [dbo].[__EFMigrationsHistory] Script Date: 11/12/2020 3:39:17 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[__EFMigrationsHistory]( [MigrationId] [nvarchar](150) NOT NULL, [ProductVersion] [nvarchar](32) NOT NULL, CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY CLUSTERED ( [MigrationId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Applications] Script Date: 11/12/2020 3:39:17 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Applications]( [Id] [int] IDENTITY(1,1) NOT NULL, [CreationDateOnUtc] [datetime2](7) NULL, [LastModificationTimeOnUtc] [datetime2](7) NULL, [DeletionTimeOnUtc] [datetime2](7) NULL, [Name] [nvarchar](max) NULL, [PrivateKey] [uniqueidentifier] NOT NULL, [IYSCode] [int] NOT NULL, [CompanyName] [nvarchar](max) NULL, [CompanyType] [int] NOT NULL, CONSTRAINT [PK_Applications] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[UserPermissionChanges] Script Date: 11/12/2020 3:39:17 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[UserPermissionChanges]( [Id] [int] IDENTITY(1,1) NOT NULL, [CreationDateOnUtc] [datetime2](7) NULL, [LastModificationTimeOnUtc] [datetime2](7) NULL, [DeletionTimeOnUtc] [datetime2](7) NULL, [Type] [int] NOT NULL, [Title] [nvarchar](max) NULL, [Context] [nvarchar](max) NULL, [Code] [nvarchar](max) NULL, [SourceUrl] [nvarchar](max) NULL, [IPAddress] [nvarchar](max) NULL, [SourceChannel] [int] NOT NULL, [CommunicationChannel] [int] NOT NULL, [Recipient] [nvarchar](max) NULL, [Status] [int] NOT NULL, [SyncStatus] [int] NOT NULL, [DateTimeOnUtc] [datetime2](7) NOT NULL, [SyncMessage] [nvarchar](max) NULL, [SyncId] [nvarchar](max) NULL, [UserPermissionId] [int] NOT NULL, [SyncSource] [int] NOT NULL, [IsSigned] [bit] NOT NULL, [SignedLogFileName] [nvarchar](max) NULL, [SignedLogFilePath] [nvarchar](max) NULL, CONSTRAINT [PK_UserPermissionChanges] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[UserPermissions] Script Date: 11/12/2020 3:39:17 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[UserPermissions]( [Id] [int] IDENTITY(1,1) NOT NULL, [CreationDateOnUtc] [datetime2](7) NULL, [LastModificationTimeOnUtc] [datetime2](7) NULL, [DeletionTimeOnUtc] [datetime2](7) NULL, [Type] [int] NOT NULL, [Title] [nvarchar](max) NULL, [Context] [nvarchar](max) NULL, [Code] [nvarchar](450) NULL, [SourceUrl] [nvarchar](max) NULL, [IPAddress] [nvarchar](max) NULL, [SourceChannel] [int] NOT NULL, [CommunicationChannel] [int] NOT NULL, [Recipient] [nvarchar](max) NULL, [Status] [int] NOT NULL, [SyncStatus] [int] NOT NULL, [DateTimeOnUtc] [datetime2](7) NOT NULL, [SyncMessage] [nvarchar](max) NULL, [SyncId] [nvarchar](max) NULL, [UserId] [int] NOT NULL, [SyncSource] [int] NOT NULL, CONSTRAINT [PK_UserPermissions] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Table [dbo].[Users] Script Date: 11/12/2020 3:39:17 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Users]( [Id] [int] IDENTITY(1,1) NOT NULL, [CreationDateOnUtc] [datetime2](7) NULL, [LastModificationTimeOnUtc] [datetime2](7) NULL, [DeletionTimeOnUtc] [datetime2](7) NULL, [TaxNumber] [nvarchar](max) NULL, [UID] [nvarchar](max) NULL, [FullName] [nvarchar](max) NULL, [ApplicationId] [int] NOT NULL, CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO /****** Object: Index [IX_Applications_PrivateKey] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE UNIQUE NONCLUSTERED INDEX [IX_Applications_PrivateKey] ON [dbo].[Applications] ( [PrivateKey] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO /****** Object: Index [IX_UserPermissionChanges_UserPermissionId] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE NONCLUSTERED INDEX [IX_UserPermissionChanges_UserPermissionId] ON [dbo].[UserPermissionChanges] ( [UserPermissionId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO SET ANSI_PADDING ON GO /****** Object: Index [IX_UserPermissions_Code] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE NONCLUSTERED INDEX [IX_UserPermissions_Code] ON [dbo].[UserPermissions] ( [Code] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO /****** Object: Index [IX_UserPermissions_UserId] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE NONCLUSTERED INDEX [IX_UserPermissions_UserId] ON [dbo].[UserPermissions] ( [UserId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO /****** Object: Index [IX_Users_ApplicationId] Script Date: 11/12/2020 3:39:17 PM ******/ CREATE NONCLUSTERED INDEX [IX_Users_ApplicationId] ON [dbo].[Users] ( [ApplicationId] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] GO ALTER TABLE [dbo].[UserPermissionChanges] ADD DEFAULT ((0)) FOR [SyncSource] GO ALTER TABLE [dbo].[UserPermissionChanges] ADD DEFAULT (CONVERT([bit],(0))) FOR [IsSigned] GO ALTER TABLE [dbo].[UserPermissions] ADD DEFAULT ((0)) FOR [SyncSource] GO ALTER TABLE [dbo].[UserPermissionChanges] WITH CHECK ADD CONSTRAINT [FK_UserPermissionChanges_UserPermissions_UserPermissionId] FOREIGN KEY([UserPermissionId]) REFERENCES [dbo].[UserPermissions] ([Id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[UserPermissionChanges] CHECK CONSTRAINT [FK_UserPermissionChanges_UserPermissions_UserPermissionId] GO ALTER TABLE [dbo].[UserPermissions] WITH CHECK ADD CONSTRAINT [FK_UserPermissions_Users_UserId] FOREIGN KEY([UserId]) REFERENCES [dbo].[Users] ([Id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[UserPermissions] CHECK CONSTRAINT [FK_UserPermissions_Users_UserId] GO ALTER TABLE [dbo].[Users] WITH CHECK ADD CONSTRAINT [FK_Users_Applications_ApplicationId] FOREIGN KEY([ApplicationId]) REFERENCES [dbo].[Applications] ([Id]) ON DELETE CASCADE GO ALTER TABLE [dbo].[Users] CHECK CONSTRAINT [FK_Users_Applications_ApplicationId] GO USE [master] GO ALTER DATABASE [PermissionService] SET READ_WRITE GO