|
1 | | - |
2 | | -/* |
3 | | - Remove constraints |
4 | | -*/ |
5 | | - |
6 | | -IF EXISTS (SELECT 1 |
7 | | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
8 | | - WHERE CONSTRAINT_NAME = N'FK_{objectQualifier}Visits_Visitors' |
9 | | - AND TABLE_NAME = N'{objectQualifier}Visits') |
10 | | - ALTER TABLE {databaseOwner}[{objectQualifier}Visits] DROP CONSTRAINT [FK_{objectQualifier}Visits_Visitors]; |
11 | | -GO |
12 | | - |
13 | | -IF EXISTS (SELECT 1 |
14 | | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
15 | | - WHERE CONSTRAINT_NAME = N'FK_{objectQualifier}Visits_Tabs' |
16 | | - AND TABLE_NAME = N'{objectQualifier}Visits') |
17 | | - ALTER TABLE {databaseOwner}[{objectQualifier}Visits] DROP CONSTRAINT [FK_{objectQualifier}Visits_Tabs]; |
18 | | -GO |
19 | | - |
20 | | -IF EXISTS (SELECT 1 |
21 | | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
22 | | - WHERE CONSTRAINT_NAME = N'FK_{objectQualifier}Visitors_Users' |
23 | | - AND TABLE_NAME = N'{objectQualifier}Visitors') |
24 | | - ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] DROP CONSTRAINT [FK_{objectQualifier}Visitors_Users]; |
25 | | -GO |
26 | | - |
27 | | -IF EXISTS (SELECT 1 |
28 | | - FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS |
29 | | - WHERE CONSTRAINT_NAME = N'FK_{objectQualifier}Visitors_Portals' |
30 | | - AND TABLE_NAME = N'{objectQualifier}Visitors') |
31 | | - ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] DROP CONSTRAINT [FK_{objectQualifier}Visitors_Portals]; |
32 | | -GO |
33 | | - |
34 | | -/* |
35 | | - Rename community tables & PK's to prevent conflicts and group the data together |
36 | | -*/ |
37 | | - |
38 | | -sp_rename N'{objectQualifier}Visitors', N'{objectQualifier}Community_Visitors'; |
39 | | -GO |
40 | | - |
41 | | -sp_rename @objname = N'[PK_{objectQualifier}Visitors]', @newname = N'PK_{objectQualifier}Community_Visitors'; |
42 | | -GO |
43 | | - |
44 | | -sp_rename N'{objectQualifier}Visits', N'{objectQualifier}Community_Visits'; |
45 | | -GO |
46 | | - |
47 | | -sp_rename @objname = N'[PK_{objectQualifier}Visits]', @newname = N'PK_{objectQualifier}Community_Visits'; |
48 | | -GO |
49 | | - |
50 | | -/* |
51 | | - Add constraints back |
52 | | -*/ |
53 | | - |
54 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visitors] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Community_Visitors_Portals] FOREIGN KEY([portal_id]) |
55 | | - REFERENCES {databaseOwner}[{objectQualifier}Portals] ([PortalID]) |
56 | | - ON DELETE CASCADE; |
57 | | -GO |
58 | | - |
59 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visitors] CHECK CONSTRAINT [FK_{objectQualifier}Community_Visitors_Portals]; |
60 | | -GO |
61 | | - |
62 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visitors] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Community_Visitors_Users] FOREIGN KEY([user_id]) |
63 | | - REFERENCES {databaseOwner}[{objectQualifier}Users] ([UserID]) |
64 | | - ON UPDATE CASCADE |
65 | | - ON DELETE CASCADE; |
66 | | -GO |
67 | | - |
68 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visitors] CHECK CONSTRAINT [FK_{objectQualifier}Community_Visitors_Users]; |
69 | | -GO |
70 | | - |
71 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visits] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Community_Visits_Tabs] FOREIGN KEY([tab_id]) |
72 | | - REFERENCES {databaseOwner}[{objectQualifier}Tabs] ([TabID]); |
73 | | -GO |
74 | | - |
75 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visits] CHECK CONSTRAINT [FK_{objectQualifier}Community_Visits_Tabs]; |
76 | | -GO |
77 | | - |
78 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visits] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Community_Visits_Visitors] FOREIGN KEY([visitor_id]) |
79 | | - REFERENCES {databaseOwner}[{objectQualifier}Community_Visitors] ([id]) |
80 | | - ON DELETE CASCADE; |
81 | | -GO |
82 | | - |
83 | | -ALTER TABLE {databaseOwner}[{objectQualifier}Community_Visits] CHECK CONSTRAINT [FK_{objectQualifier}Community_Visits_Visitors]; |
| 1 | +IF NOT OBJECT_ID('{databaseOwner}[{objectQualifier}Visits]') IS NULL |
| 2 | + DROP TABLE {databaseOwner}[{objectQualifier}Visits]; |
| 3 | +GO |
| 4 | + |
| 5 | +CREATE TABLE {databaseOwner}[{objectQualifier}Visits]( |
| 6 | + [id] [bigint] IDENTITY(1,1) NOT NULL, |
| 7 | + [date] [datetime] NOT NULL, |
| 8 | + [visitor_id] [int] NOT NULL, |
| 9 | + [tab_id] [int] NOT NULL, |
| 10 | + [ip] [nvarchar](50) NOT NULL, |
| 11 | + [country] [nvarchar](50) NOT NULL, |
| 12 | + [region] [nvarchar](50) NOT NULL, |
| 13 | + [city] [nvarchar](50) NOT NULL, |
| 14 | + [latitude] [nvarchar](50) NOT NULL, |
| 15 | + [longitude] [nvarchar](50) NOT NULL, |
| 16 | + [language] [nvarchar](50) NOT NULL, |
| 17 | + [domain] [nvarchar](255) NOT NULL, |
| 18 | + [url] [nvarchar](2048) NOT NULL, |
| 19 | + [user_agent] [nvarchar](512) NOT NULL, |
| 20 | + [device_type] [nvarchar](50) NOT NULL, |
| 21 | + [device] [nvarchar](255) NOT NULL, |
| 22 | + [platform] [nvarchar](255) NOT NULL, |
| 23 | + [browser] [nvarchar](255) NOT NULL, |
| 24 | + [referrer_domain] [nvarchar](255) NOT NULL, |
| 25 | + [referrer_url] [nvarchar](2048) NOT NULL, |
| 26 | + [server] [nvarchar](50) NOT NULL, |
| 27 | + [campaign] [nvarchar](50) NOT NULL, |
| 28 | + [session_id] [uniqueidentifier] NULL, |
| 29 | + [request_id] [uniqueidentifier] NULL, |
| 30 | + [last_request_id] [uniqueidentifier] NULL, |
| 31 | + CONSTRAINT [PK_{objectQualifier}Visits] PRIMARY KEY CLUSTERED |
| 32 | +( |
| 33 | + [id] ASC |
| 34 | +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) |
| 35 | +) |
| 36 | +GO |
| 37 | + |
| 38 | +IF NOT OBJECT_ID('{databaseOwner}[{objectQualifier}Visitors]') IS NULL |
| 39 | + DROP TABLE {databaseOwner}[{objectQualifier}Visitors]; |
| 40 | +GO |
| 41 | + |
| 42 | +CREATE TABLE {databaseOwner}[{objectQualifier}Visitors]( |
| 43 | + [id] [int] IDENTITY(1,1) NOT NULL, |
| 44 | + [portal_id] [int] NOT NULL, |
| 45 | + [user_id] [int] NULL, |
| 46 | + [created_on_date] [datetime] NOT NULL, |
| 47 | + CONSTRAINT [PK_{objectQualifier}Visitors] PRIMARY KEY CLUSTERED |
| 48 | +( |
| 49 | + [id] ASC |
| 50 | +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) |
| 51 | +) |
| 52 | +GO |
| 53 | + |
| 54 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Visitors_Portals] FOREIGN KEY([portal_id]) |
| 55 | +REFERENCES {databaseOwner}[{objectQualifier}Portals] ([PortalID]) |
| 56 | +ON DELETE CASCADE |
| 57 | +GO |
| 58 | + |
| 59 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] CHECK CONSTRAINT [FK_{objectQualifier}Visitors_Portals] |
| 60 | +GO |
| 61 | + |
| 62 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Visitors_Users] FOREIGN KEY([user_id]) |
| 63 | +REFERENCES {databaseOwner}[{objectQualifier}Users] ([UserID]) |
| 64 | +ON UPDATE CASCADE |
| 65 | +ON DELETE CASCADE |
| 66 | +GO |
| 67 | + |
| 68 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visitors] CHECK CONSTRAINT [FK_{objectQualifier}Visitors_Users] |
| 69 | +GO |
| 70 | + |
| 71 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visits] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Visits_Tabs] FOREIGN KEY([tab_id]) |
| 72 | +REFERENCES {databaseOwner}[{objectQualifier}Tabs] ([TabID]) |
| 73 | +GO |
| 74 | + |
| 75 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visits] CHECK CONSTRAINT [FK_{objectQualifier}Visits_Tabs] |
| 76 | +GO |
| 77 | + |
| 78 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visits] WITH CHECK ADD CONSTRAINT [FK_{objectQualifier}Visits_Visitors] FOREIGN KEY([visitor_id]) |
| 79 | +REFERENCES {databaseOwner}[{objectQualifier}Visitors] ([id]) |
| 80 | +ON DELETE CASCADE |
| 81 | + |
| 82 | +GO |
| 83 | +ALTER TABLE {databaseOwner}[{objectQualifier}Visits] CHECK CONSTRAINT [FK_{objectQualifier}Visits_Visitors] |
| 84 | +GO |
| 85 | + |
| 86 | +IF EXISTS(SELECT 1 FROM {databaseOwner}[{objectQualifier}Schedule] WHERE [TypeFullName] = N'Dnn.WebAnalyticsLinqToSql.VisitorJob, Dnn.WebAnalyticsLinqToSql') |
| 87 | +BEGIN |
| 88 | + UPDATE {databaseOwner}[{objectQualifier}Schedule] |
| 89 | + SET |
| 90 | + [TimeLapse] = 1, |
| 91 | + [TimeLapseMeasurement] = N'd', |
| 92 | + [RetryTimeLapse] = 1, |
| 93 | + [RetryTimeLapseMeasurement] = N'd', |
| 94 | + [RetainHistoryNum] = 10, |
| 95 | + [AttachToEvent] = N'', |
| 96 | + [CatchUpEnabled] = 0, |
| 97 | + [Enabled] = 1, |
| 98 | + [ObjectDependencies] = N'', |
| 99 | + [Servers] = null, |
| 100 | + [FriendlyName] = 'Visitor Tracking Job' |
| 101 | + WHERE |
| 102 | + [TypeFullName] = N'Dnn.WebAnalyticsLinqToSql.VisitorJob, Dnn.WebAnalyticsLinqToSql'; |
| 103 | +END |
| 104 | +ELSE |
| 105 | +BEGIN |
| 106 | + INSERT INTO {databaseOwner}[{objectQualifier}Schedule] |
| 107 | + ( [TypeFullName], [TimeLapse], [TimeLapseMeasurement], [RetryTimeLapse], [RetryTimeLapseMeasurement], [RetainHistoryNum], [AttachToEvent], [CatchUpEnabled], [Enabled], [ObjectDependencies], [Servers], [FriendlyName]) |
| 108 | + VALUES ( 'Dnn.WebAnalyticsLinqToSql.VisitorJob, Dnn.WebAnalyticsLinqToSql', 1, 'd', 1, 'd', 10, '', 0, 1, '', null, 'Visitor Tracking Job' ); |
| 109 | +END |
84 | 110 | GO |
0 commit comments