📄 bugnet.schema.sqldataprovider.sql
字号:
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_RoleHasPermission]'
GO
CREATE PROCEDURE [dbo].[BugNet_Role_RoleHasPermission]
@ProjectID int,
@Role nvarchar(256),
@PermissionKey nvarchar(50)
AS
SELECT COUNT(*) FROM BugNet_RolePermissions INNER JOIN BugNet_Roles ON BugNet_Roles.RoleId = BugNet_RolePermissions.RoleId INNER JOIN
BugNet_Permissions ON BugNet_RolePermissions.PermissionId = BugNet_Permissions.PermissionId
WHERE ProjectId = @ProjectID
AND
PermissionKey = @PermissionKey
AND
BugNet_Roles.RoleName = @Role
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_UserProfiles]'
GO
CREATE TABLE [dbo].[BugNet_UserProfiles]
(
[UserName] [nvarchar] (50) NOT NULL,
[FirstName] [nvarchar] (100) NULL,
[LastName] [nvarchar] (100) NULL,
[DisplayName] [nvarchar] (100) NULL,
[ShowAssignedToMe] [bit] NULL,
[ShowReportedByMe] [bit] NULL,
[ShowMonitoredByMe] [bit] NULL,
[ShowInProgressByMe] [bit] NULL,
[ShowResolvedByMe] [bit] NULL,
[ShowClosedByMe] [bit] NULL,
[IssuesPageSize] [int] NULL,
[MyIssuesPageSize] [int] NULL,
[NotificationTypes] [nvarchar] (255) NULL,
[PreferredLocale] [nvarchar] (50) NULL,
[LastUpdate] [datetime] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_UserProfiles] on [dbo].[BugNet_UserProfiles]'
GO
ALTER TABLE [dbo].[BugNet_UserProfiles] ADD CONSTRAINT [PK_BugNet_UserProfiles] PRIMARY KEY CLUSTERED ([UserName])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectMilestones_UpdateMilestone]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectMilestones_UpdateMilestone]
@ProjectId int,
@MilestoneId int,
@MilestoneName NVARCHAR(50),
@MilestoneImageUrl NVARCHAR(255),
@SortOrder int
AS
DECLARE @OldSortOrder int
DECLARE @OldMilestoneId int
SELECT @OldSortOrder = SortOrder FROM BugNet_ProjectMilestones WHERE MilestoneId = @MilestoneId
SELECT @OldMilestoneId = MilestoneId FROM BugNet_ProjectMilestones WHERE SortOrder = @SortOrder AND ProjectId = @ProjectId
UPDATE BugNet_ProjectMilestones SET
ProjectId = @ProjectId,
MilestoneName = @MilestoneName,
MilestoneImageUrl = @MilestoneImageUrl,
SortOrder = @SortOrder
WHERE MilestoneId = @MilestoneId
UPDATE BugNet_ProjectMilestones SET
SortOrder = @OldSortOrder
WHERE MilestoneId = @OldMilestoneId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_IssueComments]'
GO
CREATE TABLE [dbo].[BugNet_IssueComments]
(
[IssueCommentId] [int] NOT NULL IDENTITY(1, 1),
[IssueId] [int] NOT NULL,
[DateCreated] [datetime] NOT NULL CONSTRAINT [DF_BugNet_IssueComments_DateCreated] DEFAULT (getdate()),
[Comment] [ntext] NOT NULL,
[UserId] [uniqueidentifier] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_IssueComments] on [dbo].[BugNet_IssueComments]'
GO
ALTER TABLE [dbo].[BugNet_IssueComments] ADD CONSTRAINT [PK_BugNet_IssueComments] PRIMARY KEY CLUSTERED ([IssueCommentId])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomFields]'
GO
CREATE TABLE [dbo].[BugNet_ProjectCustomFields]
(
[CustomFieldId] [int] NOT NULL IDENTITY(1, 1),
[ProjectId] [int] NOT NULL,
[CustomFieldName] [nvarchar] (50) NOT NULL,
[CustomFieldRequired] [bit] NOT NULL,
[CustomFieldDataType] [int] NOT NULL,
[CustomFieldTypeId] [int] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_ProjectCustomFields] on [dbo].[BugNet_ProjectCustomFields]'
GO
ALTER TABLE [dbo].[BugNet_ProjectCustomFields] ADD CONSTRAINT [PK_BugNet_ProjectCustomFields] PRIMARY KEY CLUSTERED ([CustomFieldId])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomField_GetCustomFieldsByProjectId]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectCustomField_GetCustomFieldsByProjectId]
@ProjectId Int
AS
SELECT
ProjectId,
CustomFieldId,
CustomFieldName,
CustomFieldDataType,
CustomFieldRequired,
'' CustomFieldValue,
CustomFieldTypeId
FROM
BugNet_ProjectCustomFields
WHERE
ProjectId = @ProjectId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectNotifications]'
GO
CREATE TABLE [dbo].[BugNet_ProjectNotifications]
(
[ProjectNotificationid] [int] NOT NULL IDENTITY(1, 1),
[ProjectId] [int] NOT NULL,
[UserId] [uniqueidentifier] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_ProjectNotifications] on [dbo].[BugNet_ProjectNotifications]'
GO
ALTER TABLE [dbo].[BugNet_ProjectNotifications] ADD CONSTRAINT [PK_BugNet_ProjectNotifications] PRIMARY KEY CLUSTERED ([ProjectNotificationid])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_UserProjects]'
GO
CREATE TABLE [dbo].[BugNet_UserProjects]
(
[UserId] [uniqueidentifier] NOT NULL,
[ProjectId] [int] NOT NULL,
[UserProjectId] [int] NOT NULL IDENTITY(1, 1),
[DateCreated] [datetime] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_UserProjects] on [dbo].[BugNet_UserProjects]'
GO
ALTER TABLE [dbo].[BugNet_UserProjects] ADD CONSTRAINT [PK_BugNet_UserProjects] PRIMARY KEY CLUSTERED ([UserId], [ProjectId])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomField_GetCustomFieldById]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectCustomField_GetCustomFieldById]
@CustomFieldId Int
AS
SELECT
Fields.ProjectId,
Fields.CustomFieldId,
Fields.CustomFieldName,
Fields.CustomFieldDataType,
Fields.CustomFieldRequired,
'' CustomFieldValue,
Fields.CustomFieldTypeId
FROM
BugNet_ProjectCustomFields Fields
WHERE
Fields.CustomFieldId = @CustomFieldId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomFieldValues]'
GO
CREATE TABLE [dbo].[BugNet_ProjectCustomFieldValues]
(
[CustomFieldValueId] [int] NOT NULL IDENTITY(1, 1),
[IssueId] [int] NOT NULL,
[CustomFieldId] [int] NOT NULL,
[CustomFieldValue] [nvarchar] (4000) NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating primary key [PK_BugNet_ProjectCustomFieldValues] on [dbo].[BugNet_ProjectCustomFieldValues]'
GO
ALTER TABLE [dbo].[BugNet_ProjectCustomFieldValues] ADD CONSTRAINT [PK_BugNet_ProjectCustomFieldValues] PRIMARY KEY CLUSTERED ([CustomFieldValueId])
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomField_SaveCustomFieldValue]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectCustomField_SaveCustomFieldValue]
@IssueId Int,
@CustomFieldId Int,
@CustomFieldValue NVarChar(255)
AS
UPDATE
BugNet_ProjectCustomFieldValues
SET
CustomFieldValue = @CustomFieldValue
WHERE
IssueId = @IssueId
AND CustomFieldId = @CustomFieldId
IF @@ROWCOUNT = 0
INSERT BugNet_ProjectCustomFieldValues
(
IssueId,
CustomFieldId,
CustomFieldValue
)
VALUES
(
@IssueId,
@CustomFieldId,
@CustomFieldValue
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectCustomField_CreateNewCustomField]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectCustomField_CreateNewCustomField]
@ProjectId Int,
@CustomFieldName NVarChar(50),
@CustomFieldDataType Int,
@CustomFieldRequired Bit,
@CustomFieldTypeId int
AS
IF NOT EXISTS(SELECT CustomFieldId FROM BugNet_ProjectCustomFields WHERE ProjectId = @ProjectId AND LOWER(CustomFieldName) = LOWER(@CustomFieldName) )
BEGIN
INSERT BugNet_ProjectCustomFields
(
ProjectId,
CustomFieldName,
CustomFieldDataType,
CustomFieldRequired,
CustomFieldTypeId
)
VALUES
(
@ProjectId,
@CustomFieldName,
@CustomFieldDataType,
@CustomFieldRequired,
@CustomFieldTypeId
)
RETURN scope_identity()
END
RETURN 0
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_GetRoleById]'
GO
CREATE PROCEDURE [dbo].[BugNet_Role_GetRoleById]
@RoleId int
AS
SELECT RoleId, ProjectId, RoleName, RoleDescription, AutoAssign
FROM BugNet_Roles
WHERE RoleId = @RoleId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_QueryClauses]'
GO
CREATE TABLE [dbo].[BugNet_QueryClauses]
(
[QueryId] [int] NOT NULL,
[BooleanOperator] [nvarchar] (50) NOT NULL,
[FieldName] [nvarchar] (50) NOT NULL,
[ComparisonOperator] [nvarchar] (50) NOT NULL,
[FieldValue] [nvarchar] (50) NOT NULL,
[DataType] [int] NOT NULL,
[IsCustomField] [bit] NOT NULL
)
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_IssueAttachment_DeleteIssueAttachment]'
GO
CREATE PROCEDURE [dbo].[BugNet_IssueAttachment_DeleteIssueAttachment]
@IssueAttachmentId INT
AS
DELETE
FROM
BugNet_IssueAttachments
WHERE
IssueAttachmentId = @IssueAttachmentId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_Role_GetRolesByProject]'
GO
CREATE PROCEDURE [dbo].[BugNet_Role_GetRolesByProject]
@ProjectId int
AS
SELECT RoleId,ProjectId, RoleName, RoleDescription, AutoAssign
FROM BugNet_Roles
WHERE ProjectId = @ProjectId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ProjectMilestones_DeleteMilestone]'
GO
CREATE PROCEDURE [dbo].[BugNet_ProjectMilestones_DeleteMilestone]
@MilestoneIdToDelete INT
AS
DELETE
BugNet_ProjectMilestones
WHERE
MilestoneId = @MilestoneIdToDelete
IF @@ROWCOUNT > 0
RETURN 0
ELSE
RETURN 1
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_IssueComment_DeleteIssueComment]'
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[BugNet_IssueComment_DeleteIssueComment]
@IssueCommentId Int
AS
DELETE
BugNet_IssueComments
WHERE
IssueCommentId = @IssueCommentId
GO
IF @@ERROR<>0 AND @@TRANCOUNT>0 ROLLBACK TRANSACTION
GO
IF @@TRANCOUNT=0 BEGIN INSERT INTO #tmpErrors (Error) SELECT 1 BEGIN TRANSACTION END
GO
PRINT N'Creating [dbo].[BugNet_ApplicationLog]'
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TABLE [dbo].[BugNet_ApplicationLog]
(
[Id] [int] NOT NULL IDENTITY(1, 1),
[Date] [datetime] NOT NULL,
[Thread] [varchar] (255) NOT NULL,
[Level] [varchar] (50) NOT NULL,
[Logger] [varchar] (255) NOT NULL,
[User] [nvarchar] (50) NOT NULL,
[Message] [varchar] (4000) NOT NULL,
[Exception] [varchar] (2000) NULL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -