Skip to content

Commit e6fd71b

Browse files
✨ Add Re_install script
Cause of IL-repack using CLR assembly reference list changed then need to drop and create is needed
1 parent 8a6b03e commit e6fd71b

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
-- This SQL script is for old version of this API Consumer.
2+
-- It is used to re-install the assembly and stored procedures and functions.
3+
-- It is used to update the assembly to the new version.
4+
-- Cause of change by New version using IL-repack, so we need to re-install the assembly.
5+
/* If this query works, you not need to run this query.
6+
ALTER ASSEMBLY API_Consumer
7+
FROM 'C:\CLR\API_Consumer.dll'
8+
WITH PERMISSION_SET = UNSAFE
9+
*/
10+
11+
-- =============================================
12+
-- Drop all dependent stored procedures and functions
13+
-- =============================================
14+
IF OBJECT_ID('[dbo].[APICaller_WebMethod]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_WebMethod]
15+
IF OBJECT_ID('[dbo].[APICaller_Web_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_Web_Extended]
16+
IF OBJECT_ID('[dbo].[APICaller_GET]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET]
17+
IF OBJECT_ID('[dbo].[APICaller_POST]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST]
18+
IF OBJECT_ID('[dbo].[APICaller_POSTAuth]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POSTAuth]
19+
IF OBJECT_ID('[dbo].[APICaller_GETAuth]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GETAuth]
20+
IF OBJECT_ID('[dbo].[APICaller_GET_Headers]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Headers]
21+
IF OBJECT_ID('[dbo].[APICaller_GET_Headers_BODY]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Headers_BODY]
22+
IF OBJECT_ID('[dbo].[APICaller_POST_Headers]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Headers]
23+
IF OBJECT_ID('[dbo].[APICaller_POST_JsonBody_Header]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_JsonBody_Header]
24+
IF OBJECT_ID('[dbo].[APICaller_GET_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Extended]
25+
IF OBJECT_ID('[dbo].[APICaller_POST_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Extended]
26+
IF OBJECT_ID('[dbo].[APICaller_POST_Encoded]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Encoded]
27+
28+
IF OBJECT_ID('[dbo].[Create_HMACSHA256]') IS NOT NULL DROP FUNCTION [dbo].[Create_HMACSHA256]
29+
IF OBJECT_ID('[dbo].[GetTimestamp]') IS NOT NULL DROP FUNCTION [dbo].[GetTimestamp]
30+
IF OBJECT_ID('[dbo].[fn_GetBytes]') IS NOT NULL DROP FUNCTION [dbo].[fn_GetBytes]
31+
32+
-- =============================================
33+
-- Drop the assembly
34+
-- =============================================
35+
IF EXISTS (SELECT * FROM sys.assemblies WHERE name = 'API_Consumer')
36+
BEGIN
37+
DROP ASSEMBLY [API_Consumer]
38+
END
39+
40+
-- =============================================
41+
-- Create the assembly with the updated DLL
42+
-- =============================================
43+
CREATE ASSEMBLY [API_Consumer]
44+
AUTHORIZATION dbo
45+
FROM 'C:\CLR\API_Consumer.dll'
46+
WITH PERMISSION_SET = UNSAFE
47+
48+
-- =============================================
49+
-- Recreate the stored procedures and functions
50+
-- =============================================
51+
go
52+
-- Main procedures (current version)
53+
CREATE PROCEDURE [dbo].[APICaller_WebMethod]
54+
@httpMethod NVARCHAR (MAX) NULL, @URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
55+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_WebMethod]
56+
go
57+
CREATE PROCEDURE [dbo].[APICaller_Web_Extended]
58+
@httpMethod NVARCHAR (MAX) NULL, @URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
59+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_Web_Extended]
60+
go
61+
-- Utility functions
62+
CREATE FUNCTION [dbo].[Create_HMACSHA256]
63+
(@message NVARCHAR (MAX) NULL, @SecretKey NVARCHAR (MAX) NULL)
64+
RETURNS NVARCHAR (MAX)
65+
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].[Create_HMACSHA256]
66+
go
67+
CREATE FUNCTION [dbo].[GetTimestamp]()
68+
RETURNS NVARCHAR (MAX)
69+
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].[GetTimestamp]
70+
go
71+
CREATE FUNCTION [dbo].fn_GetBytes
72+
(@value NVARCHAR (MAX) NULL)
73+
RETURNS NVARCHAR (MAX)
74+
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].fn_GetBytes
75+
go
76+
-- Legacy procedures (deprecated but still supported)
77+
CREATE PROCEDURE [dbo].[APICaller_GET]
78+
@URL NVARCHAR (MAX) NULL
79+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET]
80+
go
81+
CREATE PROCEDURE [dbo].[APICaller_POST]
82+
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
83+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST]
84+
go
85+
CREATE PROCEDURE [dbo].[APICaller_POSTAuth]
86+
@URL NVARCHAR (MAX) NULL, @Token NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
87+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST_Auth]
88+
go
89+
CREATE PROCEDURE [dbo].[APICaller_GETAuth]
90+
@URL NVARCHAR (MAX) NULL, @Token NVARCHAR (MAX) NULL
91+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Auth]
92+
go
93+
CREATE PROCEDURE [dbo].[APICaller_GET_Headers]
94+
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
95+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Headers]
96+
go
97+
CREATE PROCEDURE [dbo].[APICaller_GET_Headers_BODY]
98+
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
99+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_GET_JsonBody_Header
100+
go
101+
CREATE PROCEDURE [dbo].[APICaller_POST_Headers]
102+
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
103+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_Headers
104+
go
105+
CREATE PROCEDURE [dbo].[APICaller_POST_JsonBody_Header]
106+
@URL NVARCHAR (MAX), @Headers NVARCHAR (MAX), @jSON NVARCHAR (MAX)
107+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_JsonBody_Headers
108+
go
109+
CREATE PROCEDURE [dbo].[APICaller_GET_Extended]
110+
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
111+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Extended]
112+
go
113+
CREATE PROCEDURE [dbo].[APICaller_POST_Extended]
114+
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
115+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST_Extended]
116+
go
117+
CREATE PROCEDURE [dbo].APICaller_POST_Encoded
118+
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
119+
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_Encoded

0 commit comments

Comments
 (0)