-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSqlQuery_1.sql
More file actions
151 lines (140 loc) · 38.4 KB
/
Copy pathSqlQuery_1.sql
File metadata and controls
151 lines (140 loc) · 38.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
DECLARE @CurrentMigration [nvarchar](max)
IF object_id('[dbo].[__MigrationHistory]') IS NOT NULL
SELECT @CurrentMigration =
(SELECT TOP (1)
[Project1].[MigrationId] AS [MigrationId]
FROM ( SELECT
[Extent1].[MigrationId] AS [MigrationId]
FROM [dbo].[__MigrationHistory] AS [Extent1]
WHERE [Extent1].[ContextKey] = N'EFFluentAPI.FluentAPIMigrations.Configuration'
) AS [Project1]
ORDER BY [Project1].[MigrationId] DESC)
IF @CurrentMigration IS NULL
SET @CurrentMigration = '0'
IF @CurrentMigration < '202008202027192_InitialModel'
BEGIN
CREATE TABLE [dbo].[Authors] (
[ID] [int] NOT NULL IDENTITY,
[Name] [nvarchar](max),
CONSTRAINT [PK_dbo.Authors] PRIMARY KEY ([ID])
)
CREATE TABLE [dbo].[Courses] (
[ID] [int] NOT NULL IDENTITY,
[Name] [nvarchar](max),
[Description] [nvarchar](max),
[Level] [int] NOT NULL,
[FullPrice] [real] NOT NULL,
[Author_ID] [int],
CONSTRAINT [PK_dbo.Courses] PRIMARY KEY ([ID])
)
CREATE INDEX [IX_Author_ID] ON [dbo].[Courses]([Author_ID])
CREATE TABLE [dbo].[Tags] (
[ID] [int] NOT NULL IDENTITY,
[Name] [nvarchar](max),
CONSTRAINT [PK_dbo.Tags] PRIMARY KEY ([ID])
)
CREATE TABLE [dbo].[TagCourses] (
[Tag_ID] [int] NOT NULL,
[Course_ID] [int] NOT NULL,
CONSTRAINT [PK_dbo.TagCourses] PRIMARY KEY ([Tag_ID], [Course_ID])
)
CREATE INDEX [IX_Tag_ID] ON [dbo].[TagCourses]([Tag_ID])
CREATE INDEX [IX_Course_ID] ON [dbo].[TagCourses]([Course_ID])
ALTER TABLE [dbo].[Courses] ADD CONSTRAINT [FK_dbo.Courses_dbo.Authors_Author_ID] FOREIGN KEY ([Author_ID]) REFERENCES [dbo].[Authors] ([ID])
ALTER TABLE [dbo].[TagCourses] ADD CONSTRAINT [FK_dbo.TagCourses_dbo.Tags_Tag_ID] FOREIGN KEY ([Tag_ID]) REFERENCES [dbo].[Tags] ([ID]) ON DELETE CASCADE
ALTER TABLE [dbo].[TagCourses] ADD CONSTRAINT [FK_dbo.TagCourses_dbo.Courses_Course_ID] FOREIGN KEY ([Course_ID]) REFERENCES [dbo].[Courses] ([ID]) ON DELETE CASCADE
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 ([MigrationId], [ContextKey])
)
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008202027192_InitialModel', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1A5D6FDB36F07DC0FE83A0A76D48AD7CBC7481DD2275E2C158F381382DF61630D2D91146519E48053686FDB23DEC27ED2FECF4455124654BAE93166B51A088C9BBE37DF378A77FFFFE67F8761551E709121EC66CE41E0D0E5D07981F07215B8CDC54CC5FBD76DFBEF9FEBBE14510AD9C8F15DC490687988C8FDC472196A79EC7FD4788081F44A19FC43C9E8B811F471E0962EFF8F0F067EFE8C80324E1222DC719DEA64C8411E43FF0E738663E2C454AE8651C00E5E53AEECC72AACE1589802F890F23F76232A12930717633759D331A1264610674EE3A84B15810810C9E7EE0301349CC16B3252E107AB75E02C2CD09E550327E5A837795E1F03893C1AB112B527ECA451CF5247874522AC5D3D17752AD2B95866ABB40F58A752675AEBA917B968AC738711DFDA8D3314D32B0865E0705F481A3AC1D48E3A38F64FF0E9C714A459AC088412A12420F9C9BF48186FEAFB0BE8B7F07366229A52A57C817EE351670E92689979088F52DCC4B5EA7E7AEE335F13C1D51A22938851C53264E8E5DE70A0F270F14A4D1159967224EE01760901001C10D110212B4D934805C6DC6E9DA59D9FFD569E8651829AE734956EF812DC4E3C8C53F5D6712AE20A8564A0E3EB010030B9144928271C815790A17397FDA71E3384D3870D7B9059AEFF3C77059F8FCA0D8BBAFAC3B49E2E836A612A9DCB8BF23C90204F21CDB7667F8CBD7181A7AB50B6D74AC825457C72AA0BF39D64B3A9676C839703F0997459E79E6B3DEC31350794AEDB0E5BAA1CACDD426087E93847EAD23E49AC2763AADA155C5CDEE9155C58E3DB2AAB8EBCACF1D59D8E31C37EE651EA87951968D1857F73E29C29150D7F046D06FB1FD92B1BDD3A5D1C19974B7B6395A37674A23E3B228A37FCA2714FD5D4ADAE706C949ECC5D550C10124748D06515DA1A9E64B881E20298578078B90A11BB8CE4782A763D16C98A5018F0421892008D16F24CEF1669CB3E08960491C48F81353DF8566D5C533CE633FCC95D7507895C59A075EB0C0D998D2F4AC8D0E8B1A0D97A84334F5C8FDC990A18DA4CC4D35C92AB136491E0E0647BAA48A549B8555FDBA8D2FAB93D75CE5B9AEBB94D6FCDB536DAD021611854F234142263D433A7CB6012B61891B7CFC94A1C3CBB4A1F39F119E8168DC82980BEA18D68C6428A0494026138340A5812D048A7BCFC0CEADA1A12ACAD2199097B50263BDCDF5DB645B2448761551BDAE442ABF50884885EB175653B80E823752B929766B446C8D0985DBC2381BE4B545C176956D90B6BA4DA4EFD7FD00AF6808548D03AFA57330BC24CB25A674A59350AE38B3A28D307E35EBFFCC8E0A1A9ECF2DAF6DC9AD3C092B06B2006D375348009330E1E29C08F240B2F81807910166447A4B0C55C73583D93457155C157CF67781633EFD75F45A7F13142942D85C3A309CDA44CC9B388492C4527C8D639A46ACAD80DB845D94532A7EB16252187A1AE7BA663C43359A9FEA9AEE6487F6B0EB66873273F6B7431BE2E7B6431B85C67B5425D4D8E84EAFAC2E554AE552771ACA4B53A5A32C7F317E9667E75D9D2CBB60FB7B9815EB73BBD773ABBF7959D9625D961F9B025A02750BDBEC96B5BEECB4EAC25447276394446C36C9F4218FEECB555945ECC8556F76F0820CC2FC2130E5D9135E3E293BC9AA1722BDCDDF28C25A03AD06B1C45367EB5B6AB51DB59C51DA83E12DC5DF8E0C952ED48FA7EDC6338A491D44660E59546AC5E3B02CE4B6CFA68CCAAE00711DE4FD290CB2AA6EB6E602A241063098FD41C7344417A9012E090BE7C045D1A170B1F07CAD4DB9BE9C8993C779403B8D9D5EBC9F17663ADDDAB1EBD97F565B78EC8924FE23497E88C8EA479592D9A6EB3B4AF9AA95D5695EF149F41A33895CF44F1D432440FA0F3394EB4861C5E8E54C5900AB91FB678E75EA4C7FBB978807CE758219E3D43974FEDA93071A95DDD7E67E7D34B57BB8B65EBD2668EBA5B85DC3D529FDDCABC06AF3AD4EBA5778EE77B644EC717C9BC576ED85AB457CCF56B5A509B853171DAD0F49E6F78462D1C24582658BF19CC10CC4FC704968936FB3F6EA12AE991A25417DE71C96C0B2386C4AD6E5A48DEF0B4957F3EB6DE2EF3611B056CBCD26E6B649C091519F5FB373A020C039F38B226C4CB84F023342B2FA75C3C9166751569FC55FEC4FFFBD3B4BEBDBA65F627C6967B1BD647609EEFF95CBF430E48B7ACDC687E3DE1DC73E96337BFA2DDD3BEDCB93D6915BF1721CB9C1438C462EAEBFB6B9917D1EB7611C6723DE36A6B1CCEADA467536B2B6E9918D662BCFCA5E0BFD36CE9F7754D8B4A03A02D93E1BB4CCC7F63B0C9473BC8D33C1960E927E2B6AADDF2DA3408B84CAEA5E85AC868D9B85B477A576B1C93389DA63DC6976A2309329DF526326E5E1A22691B54619F88D1C2661A66C1E57D954E3A802D12AFB4B1024C004779688704E7C81DB3E709E7FCC547EA872113D403065D7A958A6024586E881363E8ECA52F2A6F3F3996E93E7E175FEFCE7FB1001D90C5104B866EFD290D61FD84C2C4F8B161259AE2F9FAA992D45F6645DAC25A5AB98752454AA4F5E5177102D2912E3D76C469E6017DE3E64DF462D88BFAE1A8AED44B61BA2A9F6E179481609897849A3C6C79FE8C341B47AF31FC2409E9552300000 , N'6.4.4')
END
IF @CurrentMigration < '202008231545129_AddLengthToColumnNameInTableCourse'
BEGIN
DECLARE @var0 nvarchar(128)
SELECT @var0 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'dbo.Courses')
AND col_name(parent_object_id, parent_column_id) = 'Name';
IF @var0 IS NOT NULL
EXECUTE('ALTER TABLE [dbo].[Courses] DROP CONSTRAINT [' + @var0 + ']')
ALTER TABLE [dbo].[Courses] ALTER COLUMN [Name] [nvarchar](255) NOT NULL
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008231545129_AddLengthToColumnNameInTableCourse', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1A6B6FDB36F0FB80FD07419FB621B5F240812DB05BA44E3C186B1E88D362DF02463A3BC228CA13A9C0C6B05FB60FFB49FB0B3BBD288AA46CC975D2A2280A14317977BC378F77FAEF9F7F876F5711759E20E161CC46EED1E0D07580F97110B2C5C84DC5FCD5CFEEDB37DF7F37BC08A295F3B1823BC9E01093F191FB28C4F2D4F3B8FF0811E18328F49398C77331F0E3C82341EC1D1F1EFEE21D1D7980245CA4E538C3DB94893082FC07FE1CC7CC87A54809BD8C03A0BC5CC79D594ED5B92211F025F161E45E4C26340526CE6EA6AE734643822CCC80CE5D8730160B2290C1D30F1C662289D962B6C40542EFD64B40B839A11C4AC64F6BF0AE321C1E673278356245CA4FB988A39E048F4E4AA5783AFA4EAA75A5D2506D17A85EB1CEA4CE553772CF52F11827AEA31F753AA64906D6D0EBA0803E7094B503697CF491ECDF81334EA948131831484542E88173933ED0D0FF0DD677F11FC0462CA554E50AF9C2BDC6022EDD24F11212B1BE8579C9EBF4DC75BC269EA7234A3405A79063CAC4C9B1EB5CE1E1E4818234BA22F34CC409FC0A0C122220B821424082369B0690ABCD385D3B2BFBBF3A0DBD0C23C5752EC9EA3DB085781CB9F8A7EB4CC21504D54AC9C10716626021924852300EB9224FE122E74F3B6E1CA70907EE3AB740F37DFE182E0B9F1F147BF7957527491CDDC65422951BF777245980409E63DBEE0C7FF91A4343AF76A18D8E5590EAEA5805F437C7DAC9B18E5FBFEEE45806879B4F3D07EE27E1B2483CFBF66AEDACF7F004549E527B70B9DE93F30982DF24A15F2B0DB9A61D34D01A6B5520ED1E6A5530D943AD0AC4AEFCDC91853DF071E35E26869A1765D9087A75EF93421E09758D7704FD16EC3B05FB4BDE221D9C49776B9BA37573A634326E8F32FAA77C42D1DFA5A47DAE949CC45E5C0D151C4042D76810D5159A6ABE84E80192528877B00819BA81EB7C24783A56D186591AF0481092088210FD46E21C6FC6390B9E08D6C881843F31F55D68565D3CE33CF6C35C790D855759AC79E0050B9C8D294DCFDAE8B0A8D170893A44538FDC9F0C19DA48CADC5493AC126B93E4E16070A44BAA48B55958D5AFDBF8B23A79CD559EEBBA4B69CDBF3DD5D62A601151F856122464D233A4C3671BB01296B8C1D750193ABC4C1B3AFF19E11988C62D88B9A08E61CD4886029A0464323108541AD842A0B8F70CECDC1A1AAAA22C9D0179592B30D6DB5CBF4DB64582645711D5EB4AA4F20B858854B87E613585EB207823959B62B746C4D69850B82D8CB3415E5B146C57D90669ABDB44FA7EDD20F08A0E41D549F05A5A09C34BB25C624A575A0BE58A332BFA0AE357B3FEEFEEA8A0E1F9DCF2FC96DCCA93B062200BD0763385043009132ECE89200F248B8F7110196046A4B7C450755C33984D7355C155C1677F1738662F4047AFF53741912284CDA503C3A94DC4BCAB4328492CC5D738A669C4DA0AB84DD84539A5E2172B2685A1A771AE6BC63354A3F9A9AEE94E76680FBB6E762833677F3BB4217E6E3BB45168BC4755428D8DEEF4CAEA52A5542E75A7A1BC34553ACAF217E3677976DED5C9B20BB6BF8759B13EB77B3DB7FA9B97952DD665F9B129A02550B7B0CD6E59EBCB4EAB2E4C7574324649C466934C1FF2E8BE5C9555C48E5CF566072FC820CC1F02539E3DE1E593B293AC7A21D2DBFC8D22AC35D06A104B3C75B6BEA556DB51CB19A53D18DE52FCEDC850E942FD78DA6E3CA398D44164E69045A5563C0ECB426EFBB0CAA8EC0A10D741DE9FC220ABEA666B2E201A640083D99F744C4374911AE092B0700E5C141D0AF7F8F0E8581B7B7D3923288FF380769A43BD783F2FCC74BAB563D7B3FFACB6F0D81349FC4792FC1091D58F2A25B34DD777B6F2F52ACB1C6F7CFAECA28721B6CC2772357CEA482201D27FB0A15C4D0A2B465F67CA02588DDCBF72AC5367FAFBBD443C70AE13CC1EA7CEA1F3F79EBCD1A8F2BE2A57DC67DCB6DCDFDDF4D57A0D9BA0AD17E4760D57A7F473AF02ABCDB73AE95EE1B9DFD912B1C7F16D16DBB52FAE16F43DDBD69686E04E1D75B43E2499DF138A050C17099630C6D3063310F3C325A14DBECD3AAC4BB8666A9404F59D735802CBE2B02959979336BE35245DCDAFB789BFDB74C05A39371B9ADBA6024746AD7ECDCE818200E7CC2F0AB231E13E09CC08C96AD90D275B9C45597D167FB1B701F6EE2CADEF9C7E89F1A59DC5F6AAD925B8BF2A97E961C817F59A8D8FC8BD3B8E7D4467F6F75B3A79DA5728ADE3B7E21539728387188D5C5C7F6D3324FB6C6EC368CE46BC6D646399DBB58DED6C646D93241BCD569E95BD16FA6D9C3FEFD8B06941751CB27D4E689995ED773028677A1BE7832DDD24FD56D4DAC05BC682160995D5BD0A590D1E370B69EF50ED62936712B5C7E8D3EC4A6126533EB4C64CCAC3454D226B9332F01B394CC24CD93CAEB2A9C65105A255F69720488009EE2C11E19CF802B77DE03CFFB0A9FC68E5227A8060CAAE53B14C058A0CD1036D7C2895A5E44DE7E7F3DD26CFC3EBFCF9CFF72102B219A20870CDDEA521AD3FB699589E162D24B25C5F3E55335B8AECC9BA584B4A5731EB48A8549FBCA2EE205A5224C6AFD98C3CC12EBC7DC8BE935A107F5D3517DB896C374453EDC3F3902C1212F192468D8F3FD1878368F5E67FADE78DC86F300000 , N'6.4.4')
END
IF @CurrentMigration < '202008231548451_AddLengthToColumnDescriptionInTableCourse'
BEGIN
DECLARE @var1 nvarchar(128)
SELECT @var1 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'dbo.Courses')
AND col_name(parent_object_id, parent_column_id) = 'Description';
IF @var1 IS NOT NULL
EXECUTE('ALTER TABLE [dbo].[Courses] DROP CONSTRAINT [' + @var1 + ']')
ALTER TABLE [dbo].[Courses] ALTER COLUMN [Description] [nvarchar](2000) NOT NULL
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008231548451_AddLengthToColumnDescriptionInTableCourse', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1A5D6FDB36F07DC0FE83A0A76D482D2745812DB05BA44E3C186B3E10A7C5DE0246BA38C228CA13A9C0C6B05FB687FDA4FD859DBE688AA464C971D2A2280A14317977BC6F1EEFF4DF3FFF8EDEAD22EA3C42C2C3988DDDC3C1D07580F97110B2C5D84DC5FDAB9FDD776FBFFF6E7416442BE75305F73A83434CC6C7EE8310CB63CFE3FE0344840FA2D04F621EDF8B811F471E0962EF6838FCC53B3CF40049B848CB7146D729136104F90FFC3989990F4B91127A1E074079B98E3BF39CAA734122E04BE2C3D83D9B4E690A4C9C5CCD5CE7848604599803BD771DC2582C8840068F3F72988B24668BF9121708BD592F01E1EE09E550327EBC01EF2AC3F02893C1DB2056A4FC948B38EA49F0F075A9144F47DF49B5AE541AAAED0CD52BD699D4B9EAC6EE492A1EE2C475F4A38E2734C9C06A7A1D14D0078EB276208D8F3E92FD3B7026291569026306A948083D70AED23B1AFABFC1FA26FE03D898A594AA5C215FB8575BC0A5AB245E4222D6D7705FF23A3B751DAF8EE7E988124DC129E49831F1FAC8752EF0707247411A5D91792EE2047E05060911105C112120419BCD02C8D5669CAE9D95FD5F9D865E8691E23AE764F501D8423C8C5DFCD375A6E10A826AA5E4E0230B31B01049242918875C90C77091F3A71D3789D38403779D6BA0F93E7F089785CF0F8ABDDBCABAD3248EAE632A91CA8DDB1B922C4020CFB16D778EBF7C8DA191B771A156C72A487575AC02FA9B63EDE458476FDE74722C83C3F6534F81FB49B82C124FF3E1C3E1F0394EFF008F40E5B91B9F2ED77B529B22F85512FA1B35A21CB403578DD15785D6EEC15785973DF8AAD0ECCACF0D59D853016EDCCA54B1E1455936D280BAF7A4248084BA660004FD16FE3B85FF4BDE2B1D9C49776B9BA37573A63432EE9332FA677C4AD1DFA5A47D2E999CC45E5C0D151C4042D76810D515EA6A3E87E80E925288F7B00819BA81EB7C22783AD6D586596AF0481092088210FD46E21CB5E39C048F04ABE640C2BF36F55D68565D3CE13CF6C35C7935855759AC7EE0190B9CD694A6676D7458D468B8441DA2A9C7EE4F860C4D24656EDA90AC126B9DE4703038D42555A46A1756F5EB26BEAC4EBEE12ACF75DDA5B4E6DF9E6A6B14B088287C3D091232E919D2E1B30D58094BDCE0FBA80C1D5EA60D9DFF8CF01C44ED16C45CB08961CD488602EA0464323108541AD842A0B8F70CECDC1A1AAAA22C9D0179592B30D6DB5CBF4DB64582645711D5EB4AA4F20B858854B87E61D585EB20782D959B623746C4D69850B82D8CD322AF2D0AB6ABAC45DAEA3691BEBF69197845CFA0EA2D780DCD85D139592E31A52BCD8672C599179D86C9AB79FF977854D0F07C6E79904B6EE5495831900568BB99420298860917A744903B92C5C724880C3023D21B62A83AAE1ECCA6B9AAE0AAE0B3BF0B1CB33BA0A36FF43745912284CDA503C3A94DC4BCCF4328492CC5D724A669C49A0AB836ECA29C52F18B1593C2C8D338D735E319AAD1FC54D774273B34875D373B9499B3BF1D9A103FB71D9A28D45EA82AA1DA46777A6575A9522A97BAD3505E9A2A1D65F98BF1B33C3BEFEA64D905DBDFC3AC589FDBBD9E5BFDF5CBCA16EBB2FC680B6809D42D6CB35BD6FAB2D3AA0B531D9D8C5112B1D924D3873CBA2F576515B12357BDD9C10B3208F387C08C674F78F9A4EC24AB5E88F4367FAD086B0CB40D88259E3A5BDF52ABEDA8E58CD21E0C6F29FE7664A874A17E3C6D379E514CEA203273C8A2522B1E476521B77D7C6554760588EB20EF8F61905575F33517100D3280C1FC4F3AA121BAC806E09CB0F01EB8283A14EED1F0F0481B847D3943298FF380769A4CBD783F2FCC74BAB563D7B3FFACB6F0D82349FC0792FC1091D58F2A25B34DD777DAF2F52ACB1C783C7D9A61A79DCF339E32ACC875F2D4F94402A4FF9443B9A714568C26CF8C05B01ABB7FE558C7CEECF75B8978E05C26984A8E9DA1F3F79E5CD328F9BE2ABFDC6710375CE6DDF4D578279BA08DB7E5760D57A7F473AF02ABC9B73AE95EE1B9DFD912B1C7F14D16DBB549AE56F73D7BD896EEE04EED75B43E2499DF138AD50C1709D633C63B073310F3C325A175BECDA2AC4BB8666A9404F59D535802CBE2B02E5997935A1F1E92AEE6D7DBC4DF6D54602DA3EBDDCD6D238243A370BF64A740418073E217D5D984709F04668464856DCBC9166751569FC55FEC3D81BD3B4BE3A3A75F627C6967B13D717609EEAFCA657A18F245BDA6F545B977C7B1CFEBCC667F435B4FFB24A57116573C29C76E7017A3918BEBAF69A0641FD4B5CCE96CC49BE63796215ED30CCF46D63656B2D16CE459D96BA0DFC4F9F3CE10EB16546723DB878696C1D97EA78472C0D73A2C6C682DE9B7A2D613DE3223B448A8ACEE55C86A0AD92EA4BD5DB58B4D9E49D41E7350B34585994CF90E1B33290F171B1259CF94815FCB611266C6EEE32A9B6A1C55205A657F0E820498E04E1211DE135FE0B60F9CE75F39955FB09C457710CCD8652A96A9409121BAA3B5AFA6B294DC767E3EECADF33CBACC7B017C1F22209B218A0097EC7D1AD2CD973753CBD3A2814496EBCBA76A664B913D59176B49E922661D0995EA9357D40D444B8AC4F8259B9347D885B78FD947530BE2AFAB4E633391ED86A8AB7D741A924542225ED2D8E0E34FF4E1205ABDFD1FFCA423B28E300000 , N'6.4.4')
END
IF @CurrentMigration < '202008231552197_SetRelationshipTableCoursesTableAuthorAddForeignKey'
BEGIN
IF object_id(N'[dbo].[FK_dbo.Courses_dbo.Authors_Author_ID]', N'F') IS NOT NULL
ALTER TABLE [dbo].[Courses] DROP CONSTRAINT [FK_dbo.Courses_dbo.Authors_Author_ID]
IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_Author_ID' AND object_id = object_id(N'[dbo].[Courses]', N'U'))
DROP INDEX [IX_Author_ID] ON [dbo].[Courses]
EXECUTE sp_rename @objname = N'dbo.Courses.Author_ID', @newname = N'AuthorID', @objtype = N'COLUMN'
DECLARE @var2 nvarchar(128)
SELECT @var2 = name
FROM sys.default_constraints
WHERE parent_object_id = object_id(N'dbo.Courses')
AND col_name(parent_object_id, parent_column_id) = 'AuthorID';
IF @var2 IS NOT NULL
EXECUTE('ALTER TABLE [dbo].[Courses] DROP CONSTRAINT [' + @var2 + ']')
ALTER TABLE [dbo].[Courses] ALTER COLUMN [AuthorID] [int] NOT NULL
CREATE INDEX [IX_AuthorID] ON [dbo].[Courses]([AuthorID])
ALTER TABLE [dbo].[Courses] ADD CONSTRAINT [FK_dbo.Courses_dbo.Authors_AuthorID] FOREIGN KEY ([AuthorID]) REFERENCES [dbo].[Authors] ([ID]) ON DELETE CASCADE
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008231552197_SetRelationshipTableCoursesTableAuthorAddForeignKey', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED5A6D6FDB3610FE3E60FF41D0A76D48232745812DB05BA44E3C186B5E10A7C5BE058C74768451942752818D61BF6C1FF693F617767AA7F8624B8E936E4551A08849DE0BEF9E3B9277FAE7AFBF87EF5611751E21E161CC46EED1E1C07580F97110B2C5C84DC5FCD58FEEBBB7DF7E333C0FA295F3A95AF73A5B87948C8FDC072196279EC7FD0788083F8C423F89793C17877E1C792488BDE3C1E027EFE8C80364E1222FC719DEA44C8411E43FF0E738663E2C454AE8451C00E5E538CECC72AECE2589802F890F23F77C32A12930717A3D759D531A1254610674EE3A84B15810810A9E7CE4301349CC16B3250E107ABB5E02AE9B13CAA154FCA459DE750F83E36C0F5E4358B1F2532EE2A827C3A3D7A5513C957C27D3BAB5D1D06CE7685EB1CE769D9B6EE49EA6E2214E5C47157532A649B6AC65D7C362F581238D1DD4CE478C64FF0E9C714A459AC088412A12420F9CEBF49E86FE2FB0BE8D7F03366229A5B256A817CEB50670E83A89979088F50DCC4B5DA767AEE3B5E93C95B02693688A7D4C99787DEC3A97289CDC53A89D2EED7926E2047E06060911105C132120419F4D03C8CDA649576465FF57D210651829AE7341561F802DC4C3C8C53F5D6712AE20A8464A0D3EB210030B8944928226E4923C868B5C3F45DC384E130EDC756E80E6F3FC215C16983F2CE6EE2AEF4E9238BA89694D544EDCDD92640102758E4DB333FCE52B0A0DBD06421B8155B0EA0AAC62F55760ED04ACE3376F3A014BD370B3D433E07E122E8BC463173E180C9E43FA0778045ACB6D305D8EF7E436C1E5D749E83766C47DD0FE5A1591B1DDF75D63B80AD0DD43B80A5273085701DE559F5BB23027149CB8AB134EA38B34AC251379EE49A9041975CD23B8F46B12D92989BCE4E9D4014C2AAC4D40EB06A634D24EA532874CF98422DEEB9DF639AA72167B811A1A388084AED1213214DA66BE80E81E927213EF6111328481EB7C22281D6FE79A5B5AEB912124110421E2A6A639DE4C731A3C12BC7B07F5FAD7BABD0BCBCA83A79CC77E981BAF65F02A8BB5059EB3C0D998D2D4DC8F80458B864BB421BA7AE4FEA0EDC1C6B2CE4D0DCB2AB1B6591EB96AA45FB133A020C039F58B2BFC98709F047A28A04582F608260748B2E824145F321C311032A1679290F9E192D04D8A2B441D1350A654CD5E9D398325B02C776CF24117B9CD99A84BAF8528A6DA6699A127416933C2E46462038331B33450C80F98EED0321E7A3DB16ADD6091C6D028024D5287639D65B209580943B2C2A76D99AF7899AB55FD33C633102DB761026E12A712199A01DA0CEA0CAE31A82CB0854171D9D0A8736F28A492B15405EA1B92B4C6788552C1B92DFDD4EA4A5BD510BE2DE1484C6A83AB79A3BDB90E1B6F9D9FFAB6AD11B13526246D0BE76CD8AF290AB69B6CC36EAB23BCC67E53EDF18A724F5516F22C75A1E105592EF11C95EA44E588332B8A44E357B3FE4594A8E0E1F9DC504BA9B5AD25E1358D2C4099CD0C12C0244CB8382382DC932C3EC641A42DD322DD124395B87630EBEEAA82AB5A9FFD5DD0E8851D43BA2FC926B8A5283B2BF24BA8066A9D302FD1114A12C38D771CD33462F643CB4E5DDC6165FA6244E730F414CDB5A349338D769AB72DDDC90FF6B0EBE6873273F6F7838DF073FBC1C6A1555C9019B526BAF32BAFF432A772A83B0FA94820F39186BBF36A2E45322BFB55E9B32136CFF3BBC2353BAAFB63D548F5B981FADCE66F1F7B9A0F9AF3DC6AE96689C1A0E6F8CF8E6BBDC2A31EFBBA2D3A7922E364BEF54B52FB29647DED7452A8BC81F5D349BD90E8CED3EE25EA921A3AF5FD44B9870CCB3BC1F6269676492896B80EEAFE1806D90561B6E602A2C36CC1E1EC773AA62142A45970415838072E8A0A837B3C383A56DA61FF9DD694C779403BF5A75EBC1E176636DD5A71EB593D964B70EC9124FE0349BE8BC8EA7B99935E66EBDB73F9728DA5B73D9EDED330F3CEBB1A4F6959E436796A972201D2BFD7A1F628724DB472C19405B01AB97FE44427CEF4D7BB8AEEC0B94A30919C3803E7CF2DC27B95F0BF5C58EE33862D6779377B598F647DA9F5B0DC6EE14A4A3F7815543DC0A50B9674EE27BB26DC03B677AD715765AA972D41ABF5A99DAAEA3BD5B1AD258567AA5CFFCF6AD5C6CB77BBBCB6AD46FD4C4069329022FF59E1627E4AEE1D2BD6A752BF7CFAD260313D8C7689ED2F0A323D1CF9A2A8D9F80EDD3B70CC0D23BDDA6CA906291FA2589B41C54374E406F7313AB938356D1D0D73A76843A3C8C4DCD6403074916C4D24135B535FC3C4D3AAB33467E16FD3FC799B586D0FCAC5F9ED5D2B43E766BF6DAABAC3B4B15B652948A9A7A2524ADCD2A432EC501ADDEB26AB36D8E64D9A8B5CBBF8E499B6DAA311A717B6309349DF706326E5E1A261917DD1CDC06FE5B07ACD94CDE32A9B2A1A554B9407C105081260823B4D443827BEC0691F38CFBF6D2ABF5B398FEE2198B2AB542C53815B86E89EB6BE95CA52F226F979B7B1ADF3F02AAF20F07D6C01D50C710B70C5DEA7216DBEB799185E24161659AE2F5FB8992F45F6D25DAC6B4E9731EBC8A8345F7D44DD42B4A4C88C5FB11979845D74FB987D2AB520FEBAAA4FDA996C7744DBECC3B3902C1212F19247438F3F11C341B47AFB2FE38C5396CA300000 , N'6.4.4')
END
IF @CurrentMigration < '202008231558451_CascadeDeleteFalse'
BEGIN
IF object_id(N'[dbo].[FK_dbo.Courses_dbo.Authors_AuthorID]', N'F') IS NOT NULL
ALTER TABLE [dbo].[Courses] DROP CONSTRAINT [FK_dbo.Courses_dbo.Authors_AuthorID]
ALTER TABLE [dbo].[Courses] ADD CONSTRAINT [FK_dbo.Courses_dbo.Authors_AuthorID] FOREIGN KEY ([AuthorID]) REFERENCES [dbo].[Authors] ([ID])
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008231558451_CascadeDeleteFalse', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1ADB6EDB36F47DC0FE41D0D336A49193A2C016D82D52271E8C3517C469B1B780918E1D6114E589546063D897ED619FB45FD8D19DE2C5961C27DD8AA24011933C179E3BCFD13F7FFD3D7CB78AA8F308090F6336728F0E07AE03CC8F83902D466E2AE6AF7E74DFBDFDF69BE17910AD9C4FD5B9D7D93984647CE43E08B13CF13CEE3F4044F86114FA49CCE3B938F4E3C82341EC1D0F063F7947471E200A177139CEF02665228C20FF813FC731F3612952422FE200282FD771679663752E49047C497C18B9E793094D8189D3EBA9EB9CD290200B33A073D7218CC5820864F0E42387994862B6982D7181D0DBF512F0DC9C500E25E327CDF1AE77181C6777F01AC00A959F7211473D111EBD2E85E2A9E03B89D6AD8586623B47F18A7576EB5C7423F734150F71E23A2AA993314DB2632DB91E16A70F1C69EDA0563EDA48F6EFC019A754A4098C18A42221F4C0B94EEF69E8FF02EBDBF837602396522A73857CE15E6B0197AE9378098958DFC0BCE4757AE63A5E1BCE53016B3009A6B8C79489D7C7AE7389C4C93D855AE9D29D67224EE06760901001C135110212D4D934805C6C1A758556F67F450DAD0C3DC5752EC8EA03B0857818B9F8A7EB4CC21504D54AC9C14716A26321904852D0885C92C77091F3A7901BC769C281BBCE0DD07C9F3F84CBC2E60F8BBDBB4ABB93248E6E625A03951B77B7245980409E63D3EE0C7FF90A4343AF31A18D8655A0EA6A58C5E9AF86B593611DBF79D3C9B0340E37533D03EE27E1B2083C76E283C1E039A87F8047A035DDC6A6CBF59ED82678FC3A09FD468C780FDA9FABC233B6EBBEAB0F570EBABB0B574E6A76E1CAC1BBF2734B16E680821B7775C069789196B56022EF3D299420A2AE71048F7E0D223B059197CC4E1D8C49356B93A17533A634D2B2521943A67C42D1DEEB9BF64955398ABD981A0A388084AE5121B229B4C57C01D13D24E525DEC322646806AEF3892075ACCE35B5B4CE234248220842B49B1AE67833CC69F048B0F60EEAF3AF7579179295174F398FFD30175E4BE055146B133C6781B331A4A9B11F0D16251A2E5186A8EA91FB8376071BCA3A363528ABC0DA46A98B123D1C92CCC508C5E7084745864CE8E120647EB82474137505A86314C9645DA35777CE60092C0B009B04D9856E93D874EA351125BA6D93CCD093EC61B399C811C1A651637868F4996789EEF661CC5C3D0DCE7AC12216A150048AA4F6A93A54641BB012868883EFD332E8F032E0AAFC678867205A6AC328DA443FC5BC3501B411D46158435049600B82A262D0A0736D28A092B05406EA32473A63AC8354E3DC16436A76A5AB6A16BE2D6A48486A81ABA9BE7DB90E176F2541FDDA568FD8EA1312B7857236DCD7E405DB45B6E1B6551EAE6DBF69D97845CFA6EAED7896E6CEF0822C97980CA5664FB9E2CC8A4ECFF8D5AC7F27242A70783E3734446A6E6B4A586B910528BB994002988409176744907B92F9C73888B4639AA75B7CA822D776665D5D957355E7B3BF0B18BD3B6308F725D804AF1465B922AF2435A3D601F33E1BA1243194ADE398A611B3272D3B745188CAF0C58A8E61E8299C6BA949138D62A7AAA43BE9C1EE76DDF45046CEFE7AB0017E6E3DD830B43A0432A2D646777C655D2E632A97BAE3905EFA321E69B93BAEA6289251D94BA5CF66B1799CDFD55CB354DDDF568D509FDB509F5BFCEDB4A7E9A0C9E7564937470C0235FB7F96AEF5368D9AF6755974D24486C95CF54B54FB31647DED7462A8ACC0FAF1A41624BAF2B4BA443D529B4E5D9F2875C8B0AC09B64FA2B422A138E23AC8FB63186405C26CCD054487D981C3D9EF744C433491E6C00561E11CB828DA04EEF1E0E8589969FD77E64B1EE701ED34647AF1A65A98C9746BDBAC670B58EEA3B14792F80F24F92E22ABEF654C7AAFACEFE0E4CB15963EBB78FA60C28C3B1F4D3C65EE90CBE4A9A3860448FF81853A68C839D1DA055316C06AE4FE91039D38D35FEF2AB803E72AC14072E20C9C3FB710EFD587FF72CD729F3E6CC9E5DDE4654DC9FA516BB2DC2EE18A4A3FF32AA07A18974E58E2B91FED1A700FB6BD6BA3BA6A53EDD047569B4C3BF5B7776A465BFB02CFD47EFE9F359C8D1574BB47B6ADD17CA4D5EC57EC0C2808704EFDA2301B13EE9340F78EACA6DD40D9602BD2EAB3988BF93DB8775BB1BE77FA05C5973616D3EB6617DFFEA24CA687225FD46A363E26F76E38E6A98FDE32B6B474944F42AC139DE235397283FB18955CA43EDB58C23CEED930ED3121B74D010CA320DB24C884D6349C30E1B4F22CED59F0DB387FDE49545B8372877DFBE8C9307ED9EFACA91E136D1C3959BA4A6A5654FA815B264D861B4AAB7BBD6435CBDA7C4973A76A179D3CD3557B4CD3F4EE144632E96B6A8CA43C5C3428B26FAB19F8AD18569F99B2795C455385A3EA8852D55F80200106B8D3448473E20BDCF681F3FC2BA3F20B92F3E81E8229BB4AC53215786588EE69EBABA52C246FA29F8F0CDB3C0FAFF23600DFC71590CD10AF0057EC7D1AD2E6CB9789E159614191C5FAF2999AE95264CFD5C5BAC67419B38E884AF1D529EA16A2254564FC8ACDC823ECC2DBC7ECA3A505F1D75593D18E64BB22DA621F9E856491908897381A78FC89361C44ABB7FF021FCED70454300000 , N'6.4.4')
END
IF @CurrentMigration < '202008231951298_SetRelationShipTableCoursesTableTagsChangeColumnName'
BEGIN
EXECUTE sp_rename @objname = N'dbo.TagCourses', @newname = N'CourseTags', @objtype = N'OBJECT'
IF object_id('[PK_dbo.TagCourses]') IS NOT NULL BEGIN
EXECUTE sp_rename @objname = N'[PK_dbo.TagCourses]', @newname = N'PK_dbo.CourseTags', @objtype = N'OBJECT'
END
ALTER TABLE [dbo].[CourseTags] DROP CONSTRAINT [PK_dbo.CourseTags]
ALTER TABLE [dbo].[CourseTags] ADD CONSTRAINT [PK_dbo.CourseTags] PRIMARY KEY ([Course_ID], [Tag_ID])
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008231951298_SetRelationShipTableCoursesTableTagsChangeColumnName', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1ADB6EDB36F47DC0FE41D0D336A49193A2C016D82D52271E8C3517C469B1B782918E1D6114A591546063D897ED619FB45FD8D15D222959729C642B8A02454CF2DC2F3C3C47FFFCF5F7F8DD3AA0D60370E1876C621F1D8E6C0B981B7A3E5B4DEC582E5FFD68BF7BFBED37E3732F585B9F8A73AF937308C9C4C4BE97323A711CE1DE4340C461E0BB3C14E1521EBA61E0102F748E47A39F9CA3230710858DB82C6B7C1333E90790FEC09FD390B910C998D08BD0032AF275DC59A458AD4B128088880B13FB7C36A33130797A3DB7AD53EA1364610174695B84B15012890C9E7C14B0903C64AB45840B84DE6E22C0734B4205E48C9F54C7FBCA303A4E64702AC002951B0B190603111EBDCE95E2A8E03BA9D62E95866A3B47F5CA4D2275AABA897D1ACBFB90DB964AEA644A7972ACA1D7C3ECF481555B3B288D8F3E92FC3BB0A63195318709835872420FACEBF88EFAEE2FB0B90D7F03366131A575AE902FDC6B2CE0D2350F23E0727303CB9CD7F9996D394D3847052CC16A30991C73265F1FDBD625122777144AA3D7645EC890C3CFC0801309DE35911238DA6CEE41AA368DBA422BF9BFA0865E8691625B1764FD01D84ADE4F6CFCD3B666FE1ABC6225E7E023F331B01048F218342297E4C15FA5FC29E4A661CC0508DBBA019AEE8B7B3FCA7CFE30DBFB5C5877C6C3E026A42550BEF1F996F01548E43934ED2EF097AB3034762A17EA74AC0C555FC7CA4E7F75AC9D1CEBF8CD9B5E8EA571D84DF50C84CBFD284B3CEDC447A3D15350FF000F404BBA954FE7EB03B1CDF0F835F7DD4A8D28071DCE551619DB6DDF37868B00DD3D848B2035877011E07DF9B925ABCE8492ED6BBC24CB6D9CA47B263E7AA712C4D0378FE0D1AF4964A724F202B7539733B5DC4C0D47EBE74C71A0DD4A790E998B19457CA5A443AEAA14C55E5C0D15EC01A71B3448DD159A6ABE80E00E782EC47B58F90CDDC0B63E11A48ED5B96696C67944083C00CF47BF29618EBB614EBD0782B5B7579E7FADEB3BD36C7DF15488D0F553E535145E64B126C173E6599D294DCDFDE8B0A8513F421DA2A927F60F9A0C6D284B77AA501689B5895257254638F024C408C5E7884043FA4CEAE9C067AE1F11DA455D01EA9945125D97E8D59D3388802509A04B917DE856179B4EBD24A264B76D9A193B357FE8E5266946D862D1E65DB3071769E69B0A617AED74626B1530CB45A814892A2963AA4C15C906ACA521E3E0FB344F3A224FB82AF309E205C886D9308B56D94F716F4DFA2682324D6B080A7D6E419025710D3A559E025A5396CA4059E6D4CE18EB20D539B7E59092DD9AA89A876FCB1A3524A5C2D5ABBE295C7FC133FDB58AAD47C4D698D84DE44614D45064FCF596B6B8874BDFAF5A364ED6B3297A3B4E4B73677C41A2082FC35AB3275FB11659A767FA6A31BC131264381C57181A2225B72525ACB5C80A94DD44591ECC7C2EE41991E48E24F131F502ED9816E92D3154906B06B36EAB22B88AF3C9DF198CDE9D31A4FB1C6C862205C95D9156929A53EB80699F8D50C20D65EB34A471C0DA2FAD76E8AC10ADC3672B3A86B1A370AE5D4D9A6A143F5535DDCB0E45D4EC6A873C730EB7431BE04BDBA10D43A3435047D4D8E88F2FAFCBEB98F2A5FE386A2FFD3A9EDA727F5C55515447D55E2ABD98C7B6DC12FDDC35B9AA87FBAA11EAA51DF5A9D5DFBCF64C5923BFCFBB12437EC41CFC06B52677B5F171DDB8F6755DF4B2448EC95CF8D7080FE3A9F5C1D38B2744319021B520D18DA7D525EA91D275CAFA44A943C6794DB07D12A51509D911DB42DE1F7C2F2910161B2121384C0E1C2E7EA753EAA38B54072E08F3972064D626B08F4747C7CA4CEBBF335F7284F068AF21D3B337D5FC44A75BDB66035BC0F53E1A7B20DCBD27FCBB80ACBFAF63D27B654307275FAEB2F4D9C5E3071366DCE968E231738754278F1D357020C30716EAA021E5446B17CC9907EB89FD470A7462CD7FFD5CC01D58571C13C98935B2FEDC427C501FFECB75CBFDC7F08EFAEABA92F5D3E6CB72BB866B548679580938C0C574F205DBC36867507BF0ED5D1BD5459B6A873EB2DA71D9A979B95333BAB52FF044EDE7FF59C3D95841EF62AE23AD72BF626740418275EA66E5D9940897787A7424956D37FDB4A1AAB1B0BD47FDB809C6F3398DF9153A2C3B3EB7E3989E3935C3A9263318EB8B7299BE267C567F697F4CEEDD59CC531FBD65DCD2D2513E09699DE864AFC989EDDD8568DEECEA6B1B4B98C73D1DD31E13F29629826914D4360932A1354E16CC0C9B31D7F6DAD9365279DA4954D382F50EFBF6398C617CB3DF59533926EA1C39B574957661B72D31195B5FFB15B51867758B6A6E56A9795C697D3E8F9003A6697A770A3359ED6B6A4CA3C25F5528926FAB19B88D1C569E99B36558A45285A3E28852CF5F80241E26B8532EFD2571256EBB2044FA9551FE05C9797007DE9C5DC5328A258A0CC11D6D7CB594A4E42EFAE9C8B0C9F3F82A6D03887D88806CFA28025CB1F7B14FAB2F5F668667450B8A24D7E7CFD4C4963279AEAE3625A6CB90F54494ABAFBCA26E2188282213576C411E6017DE3E261F2DAD88BB299A8CED48B61BA2A9F6F1994F569C0422C751C1E34FF4612F58BFFD17128BE50054300000 , N'6.4.4')
END
IF @CurrentMigration < '202008232017251_SetRelationShipTableCoursesTableCoverOneToOne'
BEGIN
CREATE TABLE [dbo].[Covers] (
[ID] [int] NOT NULL,
CONSTRAINT [PK_dbo.Covers] PRIMARY KEY ([ID])
)
CREATE INDEX [IX_ID] ON [dbo].[Covers]([ID])
ALTER TABLE [dbo].[Covers] ADD CONSTRAINT [FK_dbo.Covers_dbo.Courses_ID] FOREIGN KEY ([ID]) REFERENCES [dbo].[Courses] ([ID])
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008232017251_SetRelationShipTableCoursesTableCoverOneToOne', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1BD96EDB46F0BD40FF81E0535B38A2EC20406B48091CD92A84C6072C3BE85BB026C732D1E552E52E0D1945BFAC0FFDA4FE4287A7C83D7859B653A30810D8DC9D7B76667666FDCF5F7F4F3E6C026ADD43C4FD904DEDFDD1D8B680B9A1E7B3D5D48EC5ED9B1FED0FEFBFFD6672E2051BEB73B1EF6DB20F21199FDA7742AC0F1D87BB7710103E0A7C370A79782B466E1838C40B9D83F1F827677FDF014461232ECB9A5CC64CF801A4BFE0AFB390B9B01631A1A7A10794E7DF71659962B5CE48007C4D5C98DA27F3398D8189A38B856D1D519F200B4BA0B7B645180B0511C8E0E13587A58842B65AAEF103A1570F6BC07DB78472C8193FDC6EEF2AC3F82091C1D90216A8DC988B30E88970FF6DAE1447061FA45ABB541AAAED04D52B1E12A953D54DEDA358DC85916DC9A40E67344AB6D5F43ACA76EF59956F7BA5F1D147927F7BD62CA6228E60CA201611A17BD6457C437DF71778B80A7F03366531A555AE902F5CAB7DC04F1751B886483C5CC26DCEEBE2D8B69C3A9C2303966015984C8E05136F0F6CEB0C89931B0AA5D12B322F4518C1CFC0202202BC0B22044468B38507A9DA14EA12ADE4FF821A7A199E14DB3A259B4FC056E26E6AE38FB635F737E0155F720EAE998F070B8144148342E48CDCFBAB943F89DC2C8C230EDCB62E81A6EBFCCE5F673E3FCAD6BE14D69D47617019D212285FF87245A21508E439D4AD2EF137576268E26C5DA8D1B132545D1D2BDBFDBF630D72AC8377EF3A3996C26133D563E06EE4AFB3C063263E1E8F9F82FA27B8075AD2DDFA74FEBD27B6396EBF887C77AB469483F6E72A3B19EDB6EF7A868B033AFC081787547F848B03DE3DA660CA6F6227DFA070937E3731932DF6E5E58AAC1A835BB6AE70927C363192AEE9F8E811D652F9BB4635DCFCBA825ABFE434DC930C99A9EE66832C883ED0D57EB8F57559EF35D73A4DE1C0E04DB550D1CD99E240A971F28CB4E0738AF84A49FB143E298A9DB81A2AD883883EA041AAAE5057F329043710E5427C8495CF5872143F13A48E773DC52CB5FD8810A2003C1FFDA68439688639F2EE09DEE4BC72FF5B55DF9966AB1F8F380F5D3F555E4DE1454EAC133C619ED59820E54A021D1635EAAF518768EAA9FD8322830965E94E5B94459AAEA3545589271CA2E488118A975B8E86F49950C381CF5C7F4D68137509A8631449745DA297578E610D2C09004D8AEC42775B26A9D44B2252746BD3CCC4A9F8432737C9324C8B49A5C2A5CD49548B1A306A7C24CF784FE92235699ECF436A220F27FB7CAE91268B163BD60BC91D448F7A2ADA224C2B92466C4601B334854A11A89232DC96592459808DD024A36B0E793EE2792E96994F102F41D44E3426D86D6294229F227D1D4199C11504853E5B1124DD482D7C7AAC5AC0B3F240014E752F8156742DF35F5EC72A7BB4F735D9B7DBB253C96E4553CA0169CB471524A5BDE422B22E5C77C1732D1BE5D604DBF6703B4CEA7A80ADE1C85C645732673E6314590D22AD616498C0B5C0514191F1D759DAA2AA2DC3C5B69DEE64FDF4A2EFEE181AEF9353B25E63695969C4E75FAC65D6859FBD59F6EF5207190EC7E59A6675C96D49096F2E6405D26AA22C0FE67EC4C53111E486242165E605CA3625381AE24641AE1EFF545B1501A5D89FFC9CC1A89D734D6ECCC1E6285290E4D5F45EA61C6415309D81104A22CD257016D23860E64C6B86CEAE7555F8EC8B8A61E2489C2BD95C518DE4A7B2A63BD9A1383543ED90279BFE763001BEB41D4C186ADDDB2AA2DA42777CF92DB78A29FFD41D47A50B5BC553F9DC1DD7F68A514565BE78BCA0C7A64969B8C36AF26A277FD5C23DCE5D5F48858644DB4D814985D75F7D5AA8973EEB4FADFE7AE5A00BBC7949D4145BF32DFAF8A9516B52EE68BB7DB5CA49D545274BE498F4D7CD0AE17E3C192FBA9D7842143D19926B3AD5784A69276F295DA72CF1A4526E929755ED0F2D943A2BDB625BC8FBBDEF2535D6F2810B0846C986D1F2773AA33EBAC876C32961FE2D7091F52DED83F1FE81F464E3EB793EE170EE514D59AABEA178F62EBF9FE8B4B58FDF73C2596DECB37B12B97724FA2E209BEFAB98D4E67DDF7701AF5759EA68FEF173773DEE74F2FE98B17AAA93C74ED22320FDE7F1F21C3DE54469522D98079BA9FD470A74682D7EFD52C0ED59E7110692436B6CFDD942BCE768F7651CB383E84F23B492905FD559DC7DE01AA8AFA63A44DDADAF10DA355CA1D2CFB74AC01E2EA6922FD8EE473B83DA816F0F1D17162DDD01D33CB95337684E3068DE63EC273DD188E7958DFD1E3DE94B9BE16DB3BDF168B4D3F1DEF3985BDF6FF83A6778DAEBE1306BCB929CB363A020C03A72B3BBC78C7097786A144CAE6DCDF4D32193C242FBD8EFBFE02D865B7DEF2CF8DC8EA3BBC3570C279B4C63AC57E5325D4DF8ACFE62EE94ECDC59F4837475A464E8574ACF798D43F2AC5532B5BD9B10CD9B9538A651AD7E82DE3040D721374C19F5D375F3705D8F5A3B6DD50CDE4D73771D56ED4C53AF0A3DE6CA9A59215A2A4F3BF7AFFB4675B6D73E01D60C8EBFB6C97E071675259432B1D8E9F0BE9CBB37CEF00D3DE61D882879A9D408DFADA8C5FB806651F5AD6B39F1498390E711B2C7F304B5578DA1BFF2A7839877B8BFDAA248FE9090815B0BFAE59E05BB0D8BDC2371546C912EBAA720888719E12812FE2D71052EBBC079FA083A7FE07A12DC80B760E7B158C7024586E086D61E552739AC897EFA06A3CEF3E43C6D0AF25D88806CFA28029CB38FB14FB70F73E79AFBB60145921CF3FE4D624B91F471560F25A6B390754494ABAFCCE95710AC2922E3E76C49EE61086FD7C99BEA15711F8A91831949BB21EA6A9F1CFB64159180E738B6F0F82BFAB0176CDEFF0B45CA18D8413B0000 , N'6.4.4')
END
IF @CurrentMigration < '202008232027379_ChangeNamesOfColumnsOfTableCourseTagsRemoveUnderlines'
BEGIN
EXECUTE sp_rename @objname = N'dbo.CourseTags.Course_ID', @newname = N'CourseID', @objtype = N'COLUMN'
EXECUTE sp_rename @objname = N'dbo.CourseTags.Tag_ID', @newname = N'TagID', @objtype = N'COLUMN'
EXECUTE sp_rename @objname = N'dbo.CourseTags.IX_Course_ID', @newname = N'IX_CourseID', @objtype = N'INDEX'
EXECUTE sp_rename @objname = N'dbo.CourseTags.IX_Tag_ID', @newname = N'IX_TagID', @objtype = N'INDEX'
INSERT [dbo].[__MigrationHistory]([MigrationId], [ContextKey], [Model], [ProductVersion])
VALUES (N'202008232027379_ChangeNamesOfColumnsOfTableCourseTagsRemoveUnderlines', N'EFFluentAPI.FluentAPIMigrations.Configuration', 0x1F8B0800000000000400ED1BD96EE336F0BD40FF41D0535B642D278B05DAC0DE45D6890BA39B0371B2E8DB8291C68E508A72452AB051F4CBFAD04FEA2F74744B2475C649B641B1C0221139F7706638C3FCF3D7DF930F5B8F1A0F1070D76753F37034360D60B6EFB86C3D3543B17AF3A3F9E1FDB7DF4CCE1C6F6B7CCEF6BD8DF62124E353F35E88CDB16571FB1E3CC2479E6B073EF7576264FB9E451CDF3A1A8F7FB20E0F2D401426E2328CC975C884EB41FC0BFE3AF3990D1B11127AEE3B4079FA1D57963156E38278C037C486A979369FD3109838B95A98C6097509B2B004BA320DC2982F8840068F6F392C45E0B3F572831F08BDD96D00F7AD08E590327E5C6CEF2AC3F82892C12A00335476C885EFF54478F836558A25830F52AD992B0DD57686EA15BB48EA587553F32414F77E601A32A9E3190DA26D15BD8E92DD0746E9DB416E7CF491E8DF81310BA908039832084540E8817115DE51D7FE057637FE6FC0A62CA4B4CC15F2856B950FF8E92AF0371088DD35AC525E17A7A66155E12C1930072BC124722C98787B641A17489CDC51C88D5E927929FC007E06060111E05C112120409B2D1C88D5A650976845FF67D4D0CBF0A498C639D97E02B616F753137F348DB9BB0527FB927270CB5C3C5808248210142217E4C15DC7FC49E4667E1870E0A6710D345EE7F7EE26F1F951B2F625B3EE3CF0BD6B9FE640E9C2971B12AC4120CFBE6E7589BFD9124313AB70A146C74A507575AC64F7FF8E35C8B18EDEBDEBE4580A87CD544F81DB81BB49024F3DF1F178FC14D43FC103D09C6EE1D3E9F79ED8E6B8FD2A70ED428D2807EDCF557232DA6DDFF50C670774F811CE0EA9FE086707BC7B4CC194DFC44EBA41E126FE5EC74CB2D897971BB26E0C6EC9BAC249F4B98E91784DC7478FB016CBDF35AAE1E6D715D4FA25A7E19E549399AA6E36C882E8035DED875B5F97F55E73ADD3140E6ABCA9122ABA3953E829354E9A91167C4E115F2E699FC22746B1175743053B10D01D1AA4EC0A55359F837707412AC44758BB8C4547F13341EA78D753CC52D98F0821F0C071D16F7298A3669813E781E04DCEC9F7BF55F59D68B6FCF18473DF7663E555149EE5C42AC133E6188D0952AE24D06151A3EE067588A69E9A3F2832D4A1CCDDA94099A5E92A4A559578C221888E18A178B9E568489709351CB8CC763784365197803A469148D7397A79E51436C0A200D0A4C82E748B3249A59E1391A25B9B662656C91F3AB94992615A4C2A152E6D4EA25AB406A3C647D28CF7942E5291E6F93CA422F270B2CFE71A71B268B163B590DC43F4A8A6A202615C913462AB15304953A814812AC9C36D9E45A205D80A4D32BAE590E6239EE66299F908F11244E54463822D12A314F914E9AB08F20CAE20C8F4D98A20EA466AE1E363D5029E94070A70AC7B09B4A46B99FFFC3A56DAA3BDAFC9BEDD969D72764B9A520E485B3E2A21C9ED25179155E1BA0B9E6AB9566E4DB06D0FB7C3A4AE06D80A8EC445F62573E233B522AB41A4358C0C13B812384A2812FE3A4B9B55B579B828DAE956D24FCFFAEE564DE37D724E361B2C2D4B8DF8F48BB14CBAF0B337CBFE5D6A2FC161D95CD3ACCEB9CD29E1CD85AC415A8D94E5C0DC0DB8382582DC9128A4CC1C4FD9A604C79AB89191ABC63FD5565940C9F6473F27306AE75C931B53B0398AE4457935BE97290759058C672084924073099CF934F4587DA6AD874EAE7565F8E48B8A6162499C2BD95C518DE4A7B2A63BD9213B3543ED90269BFE76A8037C693BD461A8746FCB882A0BDDF1A5B7DC32A6F453771CA52E6C194FE973775CC515A38CAAFEE2F1821E1B27A5E10EABC9AB9DFC550BF738777D2115D624DA6E0A8C2ABCFEEAD342BDF4597F6AF5572B075DE04D4BA2A6D89A6ED1C74F8D5AA37247DBEDAB544EAA2E3A5922C1A4BF6D96E8F663A9F69EDB892544D18F1FB9A2534DA71476F296DC71F2024F2AE4266951D5FECC42A9B2922DA681BC3FB84E54612D775C80378A368C96BFD31975D1418A0DE784B92BE022E95A9A47E3C323E9C1C6D7F378C2E2DCA19AA2547D41F1EC3D7E37D2696B17BFE77CB3DCD6670F24B0EF49F09D47B6DF9731A9ADFBBEAF025EAFB2D4C1FCE3A7EE7ADCF1DCFD3143F558278F9DA30740FA4FE3E5297ACC89D2A25A3007B653F38F18E8D858FCFA25833B302E030C24C7C6D8F8B38578CFC1EECB386607D19F4668251DBFAAB3B8FFC035505F0D5588BA595B1FB4EBB7A0D1CFB132B81EEEA5124F79EE473906DA83570F1D1366ADDC01533CB94337683E3068CE53DB477AA2D1CE2B1BF73D7AC21737C1DB667AE3D168AF63BDE731B7BECFF075CEEEB4D7C261D69625B964A7404180716227B78E19E13671D418185DD89AE9C7C3258585F671DF7FC15B6A6EF37DF3DF73FB8DEEEE5EB29B6C318DAD5E95C774B5E0B3BA4B6D8764EFBEA21F9FAB83A49A2EA5F488B776349EB448A6A673E7A3759302A76E40AB9F9B378CCD75C86B668BFA997AFD485D8F5A3B63D58CDBEBA6ED3AACDA49A65E157ACCA5B57A8568A93CEDB4BFEA1BE5895EFBDC57332EFEDAE6F91D58D41550CA9C62AF23FB7CDADE38B9AFE92CEF4144C94BA5F6F77E45CD5E05348BAAEF58CB794F1A7F3C8F903D1E25A83D6A0CFDA53F18C4B4C3DD758122FAF341067625E8E77B166CE567A947E228DB225D72CF41100733C24920DC15B1052EDBC079FCF4397DD67AE6DD81B36097A1D884024506EF8E569E524739AC897EFCF2A2CAF3E4326E06F27D88806CBA28025CB28FA14B8BE7B873CD6DBB0645941CD3BE4D644B11F56FD6BB1CD385CF3A224AD597E7F41BF0361491F14BB6240F3084B7DBE825F59AD8BB6CD4508FA4DD1055B54F4E5DB20E88C7531C053CFE8A3EEC78DBF7FF02B5FFC331373B0000 , N'6.4.4')
END