-
Notifications
You must be signed in to change notification settings - Fork 1
/
ScriptMigration.txt
120 lines (88 loc) · 4.12 KB
/
ScriptMigration.txt
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
IF OBJECT_ID(N'[__EFMigrationsHistory]') IS NULL
BEGIN
CREATE TABLE [__EFMigrationsHistory] (
[MigrationId] nvarchar(150) NOT NULL,
[ProductVersion] nvarchar(32) NOT NULL,
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
);
END;
GO
CREATE TABLE [Product] (
[Id] int NOT NULL IDENTITY,
[Name] nvarchar(max) NULL,
[Quantity] int NOT NULL,
[AddedToCart] bit NOT NULL,
CONSTRAINT [PK_Product] PRIMARY KEY ([Id])
);
GO
CREATE TABLE [ShoppingList] (
[Id] int NOT NULL IDENTITY,
[Name] nvarchar(max) NULL,
CONSTRAINT [PK_ShoppingList] PRIMARY KEY ([Id])
);
GO
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20200728193929_InitialMigration', N'3.1.6');
GO
DECLARE @var0 sysname;
SELECT @var0 = [d].[name]
FROM [sys].[default_constraints] [d]
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[ShoppingList]') AND [c].[name] = N'Name');
IF @var0 IS NOT NULL EXEC(N'ALTER TABLE [ShoppingList] DROP CONSTRAINT [' + @var0 + '];');
ALTER TABLE [ShoppingList] ALTER COLUMN [Name] nvarchar(100) NOT NULL;
GO
DECLARE @var1 sysname;
SELECT @var1 = [d].[name]
FROM [sys].[default_constraints] [d]
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Product]') AND [c].[name] = N'Name');
IF @var1 IS NOT NULL EXEC(N'ALTER TABLE [Product] DROP CONSTRAINT [' + @var1 + '];');
ALTER TABLE [Product] ALTER COLUMN [Name] nvarchar(100) NOT NULL;
GO
CREATE TABLE [ShoppingListProduct] (
[ShoppingListId] int NOT NULL,
[ProductId] int NOT NULL,
CONSTRAINT [PK_ShoppingListProduct] PRIMARY KEY ([ShoppingListId], [ProductId]),
CONSTRAINT [FK_ShoppingListProduct_Product_ProductId] FOREIGN KEY ([ProductId]) REFERENCES [Product] ([Id]) ON DELETE CASCADE,
CONSTRAINT [FK_ShoppingListProduct_ShoppingList_ShoppingListId] FOREIGN KEY ([ShoppingListId]) REFERENCES [ShoppingList] ([Id]) ON DELETE CASCADE
);
GO
CREATE INDEX [IX_ShoppingListProduct_ProductId] ON [ShoppingListProduct] ([ProductId]);
GO
CREATE INDEX [IX_ShoppingListProduct_ShoppingListId1] ON [ShoppingListProduct] ([ShoppingListId]);
GO
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20200728205916_ShoppingListProductMigration', N'3.1.6');
GO
DECLARE @var2 sysname;
SELECT @var2 = [d].[name]
FROM [sys].[default_constraints] [d]
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[ShoppingList]') AND [c].[name] = N'Name');
IF @var2 IS NOT NULL EXEC(N'ALTER TABLE [ShoppingList] DROP CONSTRAINT [' + @var2 + '];');
ALTER TABLE [ShoppingList] ALTER COLUMN [Name] nvarchar(100) NOT NULL;
GO
DECLARE @var3 sysname;
SELECT @var3 = [d].[name]
FROM [sys].[default_constraints] [d]
INNER JOIN [sys].[columns] [c] ON [d].[parent_column_id] = [c].[column_id] AND [d].[parent_object_id] = [c].[object_id]
WHERE ([d].[parent_object_id] = OBJECT_ID(N'[Product]') AND [c].[name] = N'Name');
IF @var3 IS NOT NULL EXEC(N'ALTER TABLE [Product] DROP CONSTRAINT [' + @var3 + '];');
ALTER TABLE [Product] ALTER COLUMN [Name] nvarchar(100) NOT NULL;
GO
CREATE TABLE [ShoppingListProduct] (
[ShoppingListId] int NOT NULL,
[ProductId] int NOT NULL,
CONSTRAINT [PK_ShoppingListProduct] PRIMARY KEY ([ShoppingListId], [ProductId]),
CONSTRAINT [FK_ShoppingListProduct_Product_ProductId] FOREIGN KEY ([ProductId]) REFERENCES [Product] ([Id]) ON DELETE CASCADE,
CONSTRAINT [FK_ShoppingListProduct_ShoppingList_ShoppingListId] FOREIGN KEY ([ShoppingListId]) REFERENCES [ShoppingList] ([Id]) ON DELETE CASCADE
);
GO
CREATE INDEX [IX_ShoppingListProduct_ProductId] ON [ShoppingListProduct] ([ProductId]);
GO
CREATE INDEX [IX_ShoppingListProduct_ShoppingListId] ON [ShoppingListProduct] ([ShoppingListId]);
GO
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20200728210922_ShoppingListProductMigration2', N'3.1.6');
GO