Skip to content

Instantly share code, notes, and snippets.

@cwetanow
Created May 16, 2017 04:56
Show Gist options
  • Save cwetanow/b9c53d490e59d912ea814ec6e0b79b71 to your computer and use it in GitHub Desktop.
Save cwetanow/b9c53d490e59d912ea814ec6e0b79b71 to your computer and use it in GitHub Desktop.
dbscript
USE [master]
GO
/****** Object: Database [TrainingLogs] Script Date: 16-May-17 07:55:55 ******/
CREATE DATABASE [TrainingLogs]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'TrainingLogs', FILENAME = N'D:\Program Files (x86)\SQL Server 2014\MSSQL12.MSSQLSERVER\MSSQL\DATA\TrainingLogs.mdf' , SIZE = 6336KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'TrainingLogs_log', FILENAME = N'D:\Program Files (x86)\SQL Server 2014\MSSQL12.MSSQLSERVER\MSSQL\DATA\TrainingLogs_log.ldf' , SIZE = 1280KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [TrainingLogs] SET COMPATIBILITY_LEVEL = 130
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [TrainingLogs].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [TrainingLogs] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [TrainingLogs] SET ANSI_NULLS OFF
GO
ALTER DATABASE [TrainingLogs] SET ANSI_PADDING OFF
GO
ALTER DATABASE [TrainingLogs] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [TrainingLogs] SET ARITHABORT OFF
GO
ALTER DATABASE [TrainingLogs] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [TrainingLogs] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [TrainingLogs] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [TrainingLogs] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [TrainingLogs] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [TrainingLogs] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [TrainingLogs] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [TrainingLogs] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [TrainingLogs] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [TrainingLogs] SET ENABLE_BROKER
GO
ALTER DATABASE [TrainingLogs] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [TrainingLogs] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [TrainingLogs] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [TrainingLogs] SET ALLOW_SNAPSHOT_ISOLATION ON
GO
ALTER DATABASE [TrainingLogs] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [TrainingLogs] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [TrainingLogs] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [TrainingLogs] SET RECOVERY FULL
GO
ALTER DATABASE [TrainingLogs] SET MULTI_USER
GO
ALTER DATABASE [TrainingLogs] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [TrainingLogs] SET DB_CHAINING OFF
GO
ALTER DATABASE [TrainingLogs] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [TrainingLogs] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
ALTER DATABASE [TrainingLogs] SET DELAYED_DURABILITY = DISABLED
GO
EXEC sys.sp_db_vardecimal_storage_format N'TrainingLogs', N'ON'
GO
ALTER DATABASE [TrainingLogs] SET QUERY_STORE = ON
GO
ALTER DATABASE [TrainingLogs] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 7), DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_STORAGE_SIZE_MB = 10, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO)
GO
USE [TrainingLogs]
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY;
GO
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY;
GO
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = ON;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY;
GO
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = OFF;
GO
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET QUERY_OPTIMIZER_HOTFIXES = PRIMARY;
GO
USE [TrainingLogs]
GO
/****** Object: UserDefinedFunction [dbo].[fn_diagramobjects] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[fn_diagramobjects]()
RETURNS int
WITH EXECUTE AS N'dbo'
AS
BEGIN
declare @id_upgraddiagrams int
declare @id_sysdiagrams int
declare @id_helpdiagrams int
declare @id_helpdiagramdefinition int
declare @id_creatediagram int
declare @id_renamediagram int
declare @id_alterdiagram int
declare @id_dropdiagram int
declare @InstalledObjects int
select @InstalledObjects = 0
select @id_upgraddiagrams = object_id(N'dbo.sp_upgraddiagrams'),
@id_sysdiagrams = object_id(N'dbo.sysdiagrams'),
@id_helpdiagrams = object_id(N'dbo.sp_helpdiagrams'),
@id_helpdiagramdefinition = object_id(N'dbo.sp_helpdiagramdefinition'),
@id_creatediagram = object_id(N'dbo.sp_creatediagram'),
@id_renamediagram = object_id(N'dbo.sp_renamediagram'),
@id_alterdiagram = object_id(N'dbo.sp_alterdiagram'),
@id_dropdiagram = object_id(N'dbo.sp_dropdiagram')
if @id_upgraddiagrams is not null
select @InstalledObjects = @InstalledObjects + 1
if @id_sysdiagrams is not null
select @InstalledObjects = @InstalledObjects + 2
if @id_helpdiagrams is not null
select @InstalledObjects = @InstalledObjects + 4
if @id_helpdiagramdefinition is not null
select @InstalledObjects = @InstalledObjects + 8
if @id_creatediagram is not null
select @InstalledObjects = @InstalledObjects + 16
if @id_renamediagram is not null
select @InstalledObjects = @InstalledObjects + 32
if @id_alterdiagram is not null
select @InstalledObjects = @InstalledObjects + 64
if @id_dropdiagram is not null
select @InstalledObjects = @InstalledObjects + 128
return @InstalledObjects
END
GO
/****** Object: Table [dbo].[__MigrationHistory] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[__MigrationHistory](
[MigrationId] [nvarchar](150) NOT NULL,
[ContextKey] [nvarchar](300) NOT NULL,
[Model] [varbinary](max) NOT NULL,
[ProductVersion] [nvarchar](32) NOT NULL,
CONSTRAINT [PK_dbo.__MigrationHistory] PRIMARY KEY CLUSTERED
(
[MigrationId] ASC,
[ContextKey] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetRoles] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetRoles](
[Id] [nvarchar](128) NOT NULL,
[Name] [nvarchar](256) NOT NULL,
CONSTRAINT [PK_dbo.AspNetRoles] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserClaims] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserClaims](
[Id] [int] IDENTITY(1,1) NOT NULL,
[UserId] [nvarchar](128) NOT NULL,
[ClaimType] [nvarchar](max) NULL,
[ClaimValue] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.AspNetUserClaims] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserLogins] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserLogins](
[LoginProvider] [nvarchar](128) NOT NULL,
[ProviderKey] [nvarchar](128) NOT NULL,
[UserId] [nvarchar](128) NOT NULL,
CONSTRAINT [PK_dbo.AspNetUserLogins] PRIMARY KEY CLUSTERED
(
[LoginProvider] ASC,
[ProviderKey] ASC,
[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUserRoles] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUserRoles](
[UserId] [nvarchar](128) NOT NULL,
[RoleId] [nvarchar](128) NOT NULL,
CONSTRAINT [PK_dbo.AspNetUserRoles] PRIMARY KEY CLUSTERED
(
[UserId] ASC,
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AspNetUsers] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AspNetUsers](
[Id] [nvarchar](128) NOT NULL,
[Email] [nvarchar](256) NULL,
[EmailConfirmed] [bit] NOT NULL,
[PasswordHash] [nvarchar](max) NULL,
[SecurityStamp] [nvarchar](max) NULL,
[PhoneNumber] [nvarchar](max) NULL,
[PhoneNumberConfirmed] [bit] NOT NULL,
[TwoFactorEnabled] [bit] NOT NULL,
[LockoutEndDateUtc] [datetime] NULL,
[LockoutEnabled] [bit] NOT NULL,
[AccessFailedCount] [int] NOT NULL,
[UserName] [nvarchar](256) NOT NULL,
[LogId] [int] NULL,
[GenderType] [int] NOT NULL,
[Weight] [float] NOT NULL,
[Age] [int] NOT NULL,
[BodyFatPercent] [float] NOT NULL,
[Height] [int] NOT NULL,
[Description] [nvarchar](500) NULL,
[ProfileImageUrl] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[Comments] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Comments](
[CommentId] [int] IDENTITY(1,1) NOT NULL,
[Date] [datetime] NOT NULL,
[UserId] [nvarchar](128) NULL,
[EntryId] [int] NOT NULL,
[Content] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.Comments] PRIMARY KEY CLUSTERED
(
[CommentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[LogEntries] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[LogEntries](
[LogEntryId] [int] IDENTITY(1,1) NOT NULL,
[EntryDate] [datetime] NOT NULL,
[Content] [nvarchar](max) NULL,
[LogId] [int] NULL,
[UserId] [nvarchar](128) NULL,
CONSTRAINT [PK_dbo.LogEntries] PRIMARY KEY CLUSTERED
(
[LogEntryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[Measurements] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Measurements](
[MeasurementsId] [int] IDENTITY(1,1) NOT NULL,
[Height] [int] NOT NULL,
[WeightKg] [float] NOT NULL,
[BodyFatPercent] [float] NOT NULL,
[Chest] [int] NOT NULL,
[Shoulders] [int] NOT NULL,
[Forearm] [int] NOT NULL,
[Arm] [int] NOT NULL,
[Waist] [int] NOT NULL,
[Hips] [int] NOT NULL,
[Thighs] [int] NOT NULL,
[Calves] [int] NOT NULL,
[Neck] [int] NOT NULL,
[Wrist] [int] NOT NULL,
[Ankle] [int] NOT NULL,
[Date] [datetime] NOT NULL,
[UserId] [nvarchar](128) NULL,
CONSTRAINT [PK_dbo.Measurements] PRIMARY KEY CLUSTERED
(
[MeasurementsId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Nutritions] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Nutritions](
[NutritionId] [int] IDENTITY(1,1) NOT NULL,
[Calories] [int] NOT NULL,
[Protein] [int] NOT NULL,
[Carbs] [int] NOT NULL,
[Fats] [int] NOT NULL,
[WaterInLitres] [float] NOT NULL,
[Fiber] [int] NOT NULL,
[Sugar] [int] NOT NULL,
[UserId] [nvarchar](128) NULL,
[Notes] [nvarchar](max) NULL,
[Date] [datetime] NOT NULL,
CONSTRAINT [PK_dbo.Nutritions] PRIMARY KEY CLUSTERED
(
[NutritionId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[sysdiagrams] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[sysdiagrams](
[name] [sysname] NOT NULL,
[principal_id] [int] NOT NULL,
[diagram_id] [int] IDENTITY(1,1) NOT NULL,
[version] [int] NULL,
[definition] [varbinary](max) NULL,
PRIMARY KEY CLUSTERED
(
[diagram_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [UK_principal_name] UNIQUE NONCLUSTERED
(
[principal_id] ASC,
[name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[TrainingLogs] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TrainingLogs](
[LogId] [int] IDENTITY(1,1) NOT NULL,
[Description] [nvarchar](max) NULL,
[Name] [nvarchar](max) NULL,
[LastActivityUser] [nvarchar](max) NULL,
[DateCreated] [datetime] NOT NULL,
[LastEntryDate] [datetime] NOT NULL,
[LastEntryId] [int] NULL,
[UserId] [nvarchar](128) NULL,
[Owner] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.TrainingLogs] PRIMARY KEY CLUSTERED
(
[LogId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Table [dbo].[Votes] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Votes](
[LogVoteId] [int] IDENTITY(1,1) NOT NULL,
[UserId] [nvarchar](128) NULL,
[LogId] [int] NOT NULL,
CONSTRAINT [PK_dbo.Votes] PRIMARY KEY CLUSTERED
(
[LogVoteId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[AspNetUsers] ADD DEFAULT ((0)) FOR [GenderType]
GO
ALTER TABLE [dbo].[AspNetUsers] ADD DEFAULT ((0)) FOR [Weight]
GO
ALTER TABLE [dbo].[AspNetUsers] ADD DEFAULT ((0)) FOR [Age]
GO
ALTER TABLE [dbo].[AspNetUsers] ADD DEFAULT ((0)) FOR [BodyFatPercent]
GO
ALTER TABLE [dbo].[AspNetUsers] ADD DEFAULT ((0)) FOR [Height]
GO
ALTER TABLE [dbo].[Nutritions] ADD CONSTRAINT [DF__Nutrition__Fiber__44FF419A] DEFAULT ((0)) FOR [Fiber]
GO
ALTER TABLE [dbo].[Nutritions] ADD CONSTRAINT [DF__Nutrition__Sugar__45F365D3] DEFAULT ((0)) FOR [Sugar]
GO
ALTER TABLE [dbo].[AspNetUserClaims] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserClaims] CHECK CONSTRAINT [FK_dbo.AspNetUserClaims_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[AspNetUserLogins] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserLogins] CHECK CONSTRAINT [FK_dbo.AspNetUserLogins_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[AspNetUserRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId] FOREIGN KEY([RoleId])
REFERENCES [dbo].[AspNetRoles] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserRoles] CHECK CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetRoles_RoleId]
GO
ALTER TABLE [dbo].[AspNetUserRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[AspNetUserRoles] CHECK CONSTRAINT [FK_dbo.AspNetUserRoles_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[AspNetUsers] WITH CHECK ADD CONSTRAINT [FK_dbo.AspNetUsers_dbo.TrainingLogs_Log_LogId] FOREIGN KEY([LogId])
REFERENCES [dbo].[TrainingLogs] ([LogId])
GO
ALTER TABLE [dbo].[AspNetUsers] CHECK CONSTRAINT [FK_dbo.AspNetUsers_dbo.TrainingLogs_Log_LogId]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_dbo.Comments_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_dbo.Comments_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[Comments] WITH CHECK ADD CONSTRAINT [FK_dbo.Comments_dbo.LogEntries_EntryId] FOREIGN KEY([EntryId])
REFERENCES [dbo].[LogEntries] ([LogEntryId])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Comments] CHECK CONSTRAINT [FK_dbo.Comments_dbo.LogEntries_EntryId]
GO
ALTER TABLE [dbo].[LogEntries] WITH CHECK ADD CONSTRAINT [FK_dbo.LogEntries_dbo.AspNetUsers_User_Id] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[LogEntries] CHECK CONSTRAINT [FK_dbo.LogEntries_dbo.AspNetUsers_User_Id]
GO
ALTER TABLE [dbo].[LogEntries] WITH CHECK ADD CONSTRAINT [FK_dbo.LogEntries_dbo.TrainingLogs_TrainingLog_LogId] FOREIGN KEY([LogId])
REFERENCES [dbo].[TrainingLogs] ([LogId])
GO
ALTER TABLE [dbo].[LogEntries] CHECK CONSTRAINT [FK_dbo.LogEntries_dbo.TrainingLogs_TrainingLog_LogId]
GO
ALTER TABLE [dbo].[Measurements] WITH CHECK ADD CONSTRAINT [FK_Measurements_AspNetUsers] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Measurements] CHECK CONSTRAINT [FK_Measurements_AspNetUsers]
GO
ALTER TABLE [dbo].[Nutritions] WITH CHECK ADD CONSTRAINT [FK_Nutritions_AspNetUsers] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Nutritions] CHECK CONSTRAINT [FK_Nutritions_AspNetUsers]
GO
ALTER TABLE [dbo].[TrainingLogs] WITH CHECK ADD CONSTRAINT [FK_dbo.TrainingLogs_dbo.AspNetUsers_User_Id] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[TrainingLogs] CHECK CONSTRAINT [FK_dbo.TrainingLogs_dbo.AspNetUsers_User_Id]
GO
ALTER TABLE [dbo].[TrainingLogs] WITH CHECK ADD CONSTRAINT [FK_dbo.TrainingLogs_dbo.LogEntries_LastEntry_LogEntryId] FOREIGN KEY([LastEntryId])
REFERENCES [dbo].[LogEntries] ([LogEntryId])
GO
ALTER TABLE [dbo].[TrainingLogs] CHECK CONSTRAINT [FK_dbo.TrainingLogs_dbo.LogEntries_LastEntry_LogEntryId]
GO
ALTER TABLE [dbo].[Votes] WITH CHECK ADD CONSTRAINT [FK_dbo.Votes_dbo.AspNetUsers_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[AspNetUsers] ([Id])
GO
ALTER TABLE [dbo].[Votes] CHECK CONSTRAINT [FK_dbo.Votes_dbo.AspNetUsers_UserId]
GO
ALTER TABLE [dbo].[Votes] WITH CHECK ADD CONSTRAINT [FK_dbo.Votes_dbo.TrainingLogs_LogId] FOREIGN KEY([LogId])
REFERENCES [dbo].[TrainingLogs] ([LogId])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Votes] CHECK CONSTRAINT [FK_dbo.Votes_dbo.TrainingLogs_LogId]
GO
/****** Object: StoredProcedure [dbo].[sp_alterdiagram] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_alterdiagram]
(
@diagramname sysname,
@owner_id int = null,
@version int,
@definition varbinary(max)
)
WITH EXECUTE AS 'dbo'
AS
BEGIN
set nocount on
declare @theId int
declare @retval int
declare @IsDbo int
declare @UIDFound int
declare @DiagId int
declare @ShouldChangeUID int
if(@diagramname is null)
begin
RAISERROR ('Invalid ARG', 16, 1)
return -1
end
execute as caller;
select @theId = DATABASE_PRINCIPAL_ID();
select @IsDbo = IS_MEMBER(N'db_owner');
if(@owner_id is null)
select @owner_id = @theId;
revert;
select @ShouldChangeUID = 0
select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname
if(@DiagId IS NULL or (@IsDbo = 0 and @theId <> @UIDFound))
begin
RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1);
return -3
end
if(@IsDbo <> 0)
begin
if(@UIDFound is null or USER_NAME(@UIDFound) is null) -- invalid principal_id
begin
select @ShouldChangeUID = 1 ;
end
end
-- update dds data
update dbo.sysdiagrams set definition = @definition where diagram_id = @DiagId ;
-- change owner
if(@ShouldChangeUID = 1)
update dbo.sysdiagrams set principal_id = @theId where diagram_id = @DiagId ;
-- update dds version
if(@version is not null)
update dbo.sysdiagrams set version = @version where diagram_id = @DiagId ;
return 0
END
GO
/****** Object: StoredProcedure [dbo].[sp_creatediagram] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_creatediagram]
(
@diagramname sysname,
@owner_id int = null,
@version int,
@definition varbinary(max)
)
WITH EXECUTE AS 'dbo'
AS
BEGIN
set nocount on
declare @theId int
declare @retval int
declare @IsDbo int
declare @userName sysname
if(@version is null or @diagramname is null)
begin
RAISERROR (N'E_INVALIDARG', 16, 1);
return -1
end
execute as caller;
select @theId = DATABASE_PRINCIPAL_ID();
select @IsDbo = IS_MEMBER(N'db_owner');
revert;
if @owner_id is null
begin
select @owner_id = @theId;
end
else
begin
if @theId <> @owner_id
begin
if @IsDbo = 0
begin
RAISERROR (N'E_INVALIDARG', 16, 1);
return -1
end
select @theId = @owner_id
end
end
-- next 2 line only for test, will be removed after define name unique
if EXISTS(select diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @diagramname)
begin
RAISERROR ('The name is already used.', 16, 1);
return -2
end
insert into dbo.sysdiagrams(name, principal_id , version, definition)
VALUES(@diagramname, @theId, @version, @definition) ;
select @retval = @@IDENTITY
return @retval
END
GO
/****** Object: StoredProcedure [dbo].[sp_dropdiagram] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_dropdiagram]
(
@diagramname sysname,
@owner_id int = null
)
WITH EXECUTE AS 'dbo'
AS
BEGIN
set nocount on
declare @theId int
declare @IsDbo int
declare @UIDFound int
declare @DiagId int
if(@diagramname is null)
begin
RAISERROR ('Invalid value', 16, 1);
return -1
end
EXECUTE AS CALLER;
select @theId = DATABASE_PRINCIPAL_ID();
select @IsDbo = IS_MEMBER(N'db_owner');
if(@owner_id is null)
select @owner_id = @theId;
REVERT;
select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname
if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId))
begin
RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1)
return -3
end
delete from dbo.sysdiagrams where diagram_id = @DiagId;
return 0;
END
GO
/****** Object: StoredProcedure [dbo].[sp_helpdiagramdefinition] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_helpdiagramdefinition]
(
@diagramname sysname,
@owner_id int = null
)
WITH EXECUTE AS N'dbo'
AS
BEGIN
set nocount on
declare @theId int
declare @IsDbo int
declare @DiagId int
declare @UIDFound int
if(@diagramname is null)
begin
RAISERROR (N'E_INVALIDARG', 16, 1);
return -1
end
execute as caller;
select @theId = DATABASE_PRINCIPAL_ID();
select @IsDbo = IS_MEMBER(N'db_owner');
if(@owner_id is null)
select @owner_id = @theId;
revert;
select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname;
if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId ))
begin
RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1);
return -3
end
select version, definition FROM dbo.sysdiagrams where diagram_id = @DiagId ;
return 0
END
GO
/****** Object: StoredProcedure [dbo].[sp_helpdiagrams] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_helpdiagrams]
(
@diagramname sysname = NULL,
@owner_id int = NULL
)
WITH EXECUTE AS N'dbo'
AS
BEGIN
DECLARE @user sysname
DECLARE @dboLogin bit
EXECUTE AS CALLER;
SET @user = USER_NAME();
SET @dboLogin = CONVERT(bit,IS_MEMBER('db_owner'));
REVERT;
SELECT
[Database] = DB_NAME(),
[Name] = name,
[ID] = diagram_id,
[Owner] = USER_NAME(principal_id),
[OwnerID] = principal_id
FROM
sysdiagrams
WHERE
(@dboLogin = 1 OR USER_NAME(principal_id) = @user) AND
(@diagramname IS NULL OR name = @diagramname) AND
(@owner_id IS NULL OR principal_id = @owner_id)
ORDER BY
4, 5, 1
END
GO
/****** Object: StoredProcedure [dbo].[sp_renamediagram] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_renamediagram]
(
@diagramname sysname,
@owner_id int = null,
@new_diagramname sysname
)
WITH EXECUTE AS 'dbo'
AS
BEGIN
set nocount on
declare @theId int
declare @IsDbo int
declare @UIDFound int
declare @DiagId int
declare @DiagIdTarg int
declare @u_name sysname
if((@diagramname is null) or (@new_diagramname is null))
begin
RAISERROR ('Invalid value', 16, 1);
return -1
end
EXECUTE AS CALLER;
select @theId = DATABASE_PRINCIPAL_ID();
select @IsDbo = IS_MEMBER(N'db_owner');
if(@owner_id is null)
select @owner_id = @theId;
REVERT;
select @u_name = USER_NAME(@owner_id)
select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname
if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId))
begin
RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1)
return -3
end
-- if((@u_name is not null) and (@new_diagramname = @diagramname)) -- nothing will change
-- return 0;
if(@u_name is null)
select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @new_diagramname
else
select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @owner_id and name = @new_diagramname
if((@DiagIdTarg is not null) and @DiagId <> @DiagIdTarg)
begin
RAISERROR ('The name is already used.', 16, 1);
return -2
end
if(@u_name is null)
update dbo.sysdiagrams set [name] = @new_diagramname, principal_id = @theId where diagram_id = @DiagId
else
update dbo.sysdiagrams set [name] = @new_diagramname where diagram_id = @DiagId
return 0
END
GO
/****** Object: StoredProcedure [dbo].[sp_upgraddiagrams] Script Date: 16-May-17 07:55:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_upgraddiagrams]
AS
BEGIN
IF OBJECT_ID(N'dbo.sysdiagrams') IS NOT NULL
return 0;
CREATE TABLE dbo.sysdiagrams
(
name sysname NOT NULL,
principal_id int NOT NULL, -- we may change it to varbinary(85)
diagram_id int PRIMARY KEY IDENTITY,
version int,
definition varbinary(max)
CONSTRAINT UK_principal_name UNIQUE
(
principal_id,
name
)
);
/* Add this if we need to have some form of extended properties for diagrams */
/*
IF OBJECT_ID(N'dbo.sysdiagram_properties') IS NULL
BEGIN
CREATE TABLE dbo.sysdiagram_properties
(
diagram_id int,
name sysname,
value varbinary(max) NOT NULL
)
END
*/
IF OBJECT_ID(N'dbo.dtproperties') IS NOT NULL
begin
insert into dbo.sysdiagrams
(
[name],
[principal_id],
[version],
[definition]
)
select
convert(sysname, dgnm.[uvalue]),
DATABASE_PRINCIPAL_ID(N'dbo'), -- will change to the sid of sa
0, -- zero for old format, dgdef.[version],
dgdef.[lvalue]
from dbo.[dtproperties] dgnm
inner join dbo.[dtproperties] dggd on dggd.[property] = 'DtgSchemaGUID' and dggd.[objectid] = dgnm.[objectid]
inner join dbo.[dtproperties] dgdef on dgdef.[property] = 'DtgSchemaDATA' and dgdef.[objectid] = dgnm.[objectid]
where dgnm.[property] = 'DtgSchemaNAME' and dggd.[uvalue] like N'_EA3E6268-D998-11CE-9454-00AA00A3F36E_'
return 2;
end
return 1;
END
GO
USE [master]
GO
ALTER DATABASE [TrainingLogs] SET READ_WRITE
GO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment