-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScriptGeral.sql
152 lines (133 loc) · 6.48 KB
/
ScriptGeral.sql
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
151
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
BEGIN TRANSACTION;
GO
CREATE TABLE [Disputas] (
[Id] int NOT NULL IDENTITY,
[DataDisputa] datetime2 NULL,
[AtacanteId] int NOT NULL,
[OponenteId] int NOT NULL,
[Narracao] nvarchar(max) NULL,
CONSTRAINT [PK_Disputas] PRIMARY KEY ([Id])
);
GO
CREATE TABLE [Habilidades] (
[Id] int NOT NULL IDENTITY,
[Nome] nvarchar(max) NULL,
[Dano] int NOT NULL,
CONSTRAINT [PK_Habilidades] PRIMARY KEY ([Id])
);
GO
CREATE TABLE [Usuarios] (
[Id] int NOT NULL IDENTITY,
[Username] nvarchar(max) NULL,
[PasswordHash] varbinary(max) NULL,
[PasswordSalt] varbinary(max) NULL,
[Foto] varbinary(max) NULL,
[Latitude] nvarchar(max) NULL,
[Longitude] nvarchar(max) NULL,
[DataAcesso] datetime2 NULL,
[Perfil] nvarchar(max) NULL DEFAULT N'Jogador',
CONSTRAINT [PK_Usuarios] PRIMARY KEY ([Id])
);
GO
CREATE TABLE [Personagens] (
[Id] int NOT NULL IDENTITY,
[Nome] nvarchar(max) NULL,
[PontosVida] int NOT NULL,
[Forca] int NOT NULL,
[Defesa] int NOT NULL,
[Inteligencia] int NOT NULL,
[Classe] int NOT NULL,
[FotoPersonagem] varbinary(max) NULL,
[UsuarioId] int NULL,
[Disputas] int NOT NULL,
[Vitorias] int NOT NULL,
[Derrotas] int NOT NULL,
CONSTRAINT [PK_Personagens] PRIMARY KEY ([Id]),
CONSTRAINT [FK_Personagens_Usuarios_UsuarioId] FOREIGN KEY ([UsuarioId]) REFERENCES [Usuarios] ([Id]) ON DELETE NO ACTION
);
GO
CREATE TABLE [Armas] (
[Id] int NOT NULL IDENTITY,
[Nome] nvarchar(max) NULL,
[Dano] int NOT NULL,
[PersonagemId] int NOT NULL,
CONSTRAINT [PK_Armas] PRIMARY KEY ([Id]),
CONSTRAINT [FK_Armas_Personagens_PersonagemId] FOREIGN KEY ([PersonagemId]) REFERENCES [Personagens] ([Id]) ON DELETE CASCADE
);
GO
CREATE TABLE [PersonagemHabilidades] (
[PersonagemId] int NOT NULL,
[HabilidadeId] int NOT NULL,
[PersonagemHabilidadeHabilidadeId] int NULL,
[PersonagemHabilidadePersonagemId] int NULL,
CONSTRAINT [PK_PersonagemHabilidades] PRIMARY KEY ([PersonagemId], [HabilidadeId]),
CONSTRAINT [FK_PersonagemHabilidades_Habilidades_HabilidadeId] FOREIGN KEY ([HabilidadeId]) REFERENCES [Habilidades] ([Id]) ON DELETE CASCADE,
CONSTRAINT [FK_PersonagemHabilidades_PersonagemHabilidades_PersonagemHabilidadePersonagemId_PersonagemHabilidadeHabilidadeId] FOREIGN KEY ([PersonagemHabilidadePersonagemId], [PersonagemHabilidadeHabilidadeId]) REFERENCES [PersonagemHabilidades] ([PersonagemId], [HabilidadeId]) ON DELETE NO ACTION,
CONSTRAINT [FK_PersonagemHabilidades_Personagens_PersonagemId] FOREIGN KEY ([PersonagemId]) REFERENCES [Personagens] ([Id]) ON DELETE CASCADE
);
GO
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome') AND [object_id] = OBJECT_ID(N'[Habilidades]'))
SET IDENTITY_INSERT [Habilidades] ON;
INSERT INTO [Habilidades] ([Id], [Dano], [Nome])
VALUES (1, 39, N'Adormecer'),
(2, 41, N'Congelar'),
(3, 37, N'Hipnotizar');
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome') AND [object_id] = OBJECT_ID(N'[Habilidades]'))
SET IDENTITY_INSERT [Habilidades] OFF;
GO
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Classe', N'Defesa', N'Derrotas', N'Disputas', N'Forca', N'FotoPersonagem', N'Inteligencia', N'Nome', N'PontosVida', N'UsuarioId', N'Vitorias') AND [object_id] = OBJECT_ID(N'[Personagens]'))
SET IDENTITY_INSERT [Personagens] ON;
INSERT INTO [Personagens] ([Id], [Classe], [Defesa], [Derrotas], [Disputas], [Forca], [FotoPersonagem], [Inteligencia], [Nome], [PontosVida], [UsuarioId], [Vitorias])
VALUES (1, 0, 10, 0, 0, 10, NULL, 10, N'Frodo', 100, NULL, 0),
(2, 1, 25, 0, 0, 15, NULL, 30, N'Sam', 100, NULL, 0),
(3, 3, 21, 0, 0, 18, NULL, 35, N'Galadriel', 100, NULL, 0),
(4, 2, 18, 0, 0, 18, NULL, 37, N'Gandalf', 100, NULL, 0),
(5, 1, 17, 0, 0, 20, NULL, 31, N'Hobbit', 100, NULL, 0),
(6, 3, 13, 0, 0, 21, NULL, 34, N'Celeborn', 100, NULL, 0),
(7, 2, 11, 0, 0, 25, NULL, 35, N'Radagast', 100, NULL, 0);
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Classe', N'Defesa', N'Derrotas', N'Disputas', N'Forca', N'FotoPersonagem', N'Inteligencia', N'Nome', N'PontosVida', N'UsuarioId', N'Vitorias') AND [object_id] = OBJECT_ID(N'[Personagens]'))
SET IDENTITY_INSERT [Personagens] OFF;
GO
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] ON;
INSERT INTO [Armas] ([Id], [Dano], [Nome], [PersonagemId])
VALUES (1, 35, N'Arma A', 1);
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] OFF;
GO
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] ON;
INSERT INTO [Armas] ([Id], [Dano], [Nome], [PersonagemId])
VALUES (2, 35, N'Arma B', 2);
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] OFF;
GO
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] ON;
INSERT INTO [Armas] ([Id], [Dano], [Nome], [PersonagemId])
VALUES (3, 31, N'Arma C', 3);
IF EXISTS (SELECT * FROM [sys].[identity_columns] WHERE [name] IN (N'Id', N'Dano', N'Nome', N'PersonagemId') AND [object_id] = OBJECT_ID(N'[Armas]'))
SET IDENTITY_INSERT [Armas] OFF;
GO
CREATE UNIQUE INDEX [IX_Armas_PersonagemId] ON [Armas] ([PersonagemId]);
GO
CREATE INDEX [IX_PersonagemHabilidades_HabilidadeId] ON [PersonagemHabilidades] ([HabilidadeId]);
GO
CREATE INDEX [IX_PersonagemHabilidades_PersonagemHabilidadePersonagemId_PersonagemHabilidadeHabilidadeId] ON [PersonagemHabilidades] ([PersonagemHabilidadePersonagemId], [PersonagemHabilidadeHabilidadeId]);
GO
CREATE INDEX [IX_Personagens_UsuarioId] ON [Personagens] ([UsuarioId]);
GO
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20211026012958_MigracaoDisputas', N'5.0.9');
GO
COMMIT;
GO