Création stub + fausses données
continuous-integration/drone/push Build is passing Details

pull/1/head
Loris PERRET 2 years ago
parent 30c7fae3ff
commit 3b2ee21e11

@ -6,13 +6,13 @@ namespace DataBase.Entity
public class Chat
{
public int chatId { get; set; }
public int sender { get; set; }
public int recipient { get; set; }
public int player1 { get; set; }
public int player2 { get; set; }
[ForeignKey("sender")]
public Player PlayerSender { get; set; }
[ForeignKey("player1")]
public Player PlayerId1 { get; set; }
[ForeignKey("recipient")]
public Player PlayerRecipient { get; set; }
[ForeignKey("player2")]
public Player PlayerId2 { get; set; }
}
}

@ -8,7 +8,7 @@ namespace DataBase.Entity
{
public int messageId { get; set; }
public string message { get; set; }
public TimeSpan timestamp { get; set; }
public DateTime timestamp { get; set; }
public int player { get; set; }
public int chat { get; set; }

@ -1,24 +0,0 @@
// <auto-generated />
using DataBase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DataBase.Migrations
{
[DbContext(typeof(PongDbContext))]
[Migration("20230216090507_initMigration")]
partial class initMigration
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.3");
#pragma warning restore 612, 618
}
}
}

@ -1,22 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace DataBase.Migrations
{
/// <inheritdoc />
public partial class initMigration : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}

@ -10,8 +10,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace DataBase.Migrations
{
[DbContext(typeof(PongDbContext))]
[Migration("20230216153344_initMigration")]
[DbContext(typeof(PongDbContextWithStub))]
[Migration("20230216161314_initMigration")]
partial class initMigration
{
/// <inheritdoc />
@ -26,19 +26,27 @@ namespace DataBase.Migrations
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("recipient")
b.Property<int>("player1")
.HasColumnType("INTEGER");
b.Property<int>("sender")
b.Property<int>("player2")
.HasColumnType("INTEGER");
b.HasKey("chatId");
b.HasIndex("recipient");
b.HasIndex("player1");
b.HasIndex("sender");
b.HasIndex("player2");
b.ToTable("Chats");
b.ToTable("Chat");
b.HasData(
new
{
chatId = 1,
player1 = 1,
player2 = 2
});
});
modelBuilder.Entity("DataBase.Entity.Game", b =>
@ -65,7 +73,17 @@ namespace DataBase.Migrations
b.HasIndex("winner");
b.ToTable("Games");
b.ToTable("Game");
b.HasData(
new
{
gameId = 1,
durationGame = 65,
loser = 2,
nbMaxEchanges = 5,
winner = 1
});
});
modelBuilder.Entity("DataBase.Entity.Message", b =>
@ -84,7 +102,7 @@ namespace DataBase.Migrations
b.Property<int>("player")
.HasColumnType("INTEGER");
b.Property<TimeSpan>("timestamp")
b.Property<DateTime>("timestamp")
.HasColumnType("TEXT");
b.HasKey("messageId");
@ -93,7 +111,25 @@ namespace DataBase.Migrations
b.HasIndex("player");
b.ToTable("Messages");
b.ToTable("Message");
b.HasData(
new
{
messageId = 1,
chat = 1,
message = "Salut mon gars !",
player = 1,
timestamp = new DateTime(2023, 2, 16, 17, 5, 12, 0, DateTimeKind.Unspecified)
},
new
{
messageId = 2,
chat = 1,
message = "Comment tu vas ?",
player = 2,
timestamp = new DateTime(2023, 2, 16, 17, 12, 35, 0, DateTimeKind.Unspecified)
});
});
modelBuilder.Entity("DataBase.Entity.Player", b =>
@ -114,26 +150,42 @@ namespace DataBase.Migrations
b.HasKey("playerId");
b.ToTable("Players");
b.ToTable("Player");
b.HasData(
new
{
playerId = 1,
name = "Rami",
nbBallTouchTotal = 20,
timePlayed = 120
},
new
{
playerId = 2,
name = "Hugo",
nbBallTouchTotal = 90,
timePlayed = 250
});
});
modelBuilder.Entity("DataBase.Entity.Chat", b =>
{
b.HasOne("DataBase.Entity.Player", "PlayerRecipient")
b.HasOne("DataBase.Entity.Player", "PlayerId1")
.WithMany()
.HasForeignKey("recipient")
.HasForeignKey("player1")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerSender")
b.HasOne("DataBase.Entity.Player", "PlayerId2")
.WithMany()
.HasForeignKey("sender")
.HasForeignKey("player2")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayerRecipient");
b.Navigation("PlayerId1");
b.Navigation("PlayerSender");
b.Navigation("PlayerId2");
});
modelBuilder.Entity("DataBase.Entity.Game", b =>

@ -3,6 +3,8 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace DataBase.Migrations
{
/// <inheritdoc />
@ -12,7 +14,7 @@ namespace DataBase.Migrations
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Players",
name: "Player",
columns: table => new
{
playerId = table.Column<int>(type: "INTEGER", nullable: false)
@ -23,37 +25,37 @@ namespace DataBase.Migrations
},
constraints: table =>
{
table.PrimaryKey("PK_Players", x => x.playerId);
table.PrimaryKey("PK_Player", x => x.playerId);
});
migrationBuilder.CreateTable(
name: "Chats",
name: "Chat",
columns: table => new
{
chatId = table.Column<int>(type: "INTEGER", nullable: false)
.Annotation("Sqlite:Autoincrement", true),
sender = table.Column<int>(type: "INTEGER", nullable: false),
recipient = table.Column<int>(type: "INTEGER", nullable: false)
player1 = table.Column<int>(type: "INTEGER", nullable: false),
player2 = table.Column<int>(type: "INTEGER", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Chats", x => x.chatId);
table.PrimaryKey("PK_Chat", x => x.chatId);
table.ForeignKey(
name: "FK_Chats_Players_recipient",
column: x => x.recipient,
principalTable: "Players",
name: "FK_Chat_Player_player1",
column: x => x.player1,
principalTable: "Player",
principalColumn: "playerId",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Chats_Players_sender",
column: x => x.sender,
principalTable: "Players",
name: "FK_Chat_Player_player2",
column: x => x.player2,
principalTable: "Player",
principalColumn: "playerId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Games",
name: "Game",
columns: table => new
{
gameId = table.Column<int>(type: "INTEGER", nullable: false)
@ -65,77 +67,105 @@ namespace DataBase.Migrations
},
constraints: table =>
{
table.PrimaryKey("PK_Games", x => x.gameId);
table.PrimaryKey("PK_Game", x => x.gameId);
table.ForeignKey(
name: "FK_Games_Players_loser",
name: "FK_Game_Player_loser",
column: x => x.loser,
principalTable: "Players",
principalTable: "Player",
principalColumn: "playerId",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Games_Players_winner",
name: "FK_Game_Player_winner",
column: x => x.winner,
principalTable: "Players",
principalTable: "Player",
principalColumn: "playerId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Messages",
name: "Message",
columns: table => new
{
messageId = table.Column<int>(type: "INTEGER", nullable: false)
.Annotation("Sqlite:Autoincrement", true),
message = table.Column<string>(type: "TEXT", nullable: false),
timestamp = table.Column<TimeSpan>(type: "TEXT", nullable: false),
timestamp = table.Column<DateTime>(type: "TEXT", nullable: false),
player = table.Column<int>(type: "INTEGER", nullable: false),
chat = table.Column<int>(type: "INTEGER", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Messages", x => x.messageId);
table.PrimaryKey("PK_Message", x => x.messageId);
table.ForeignKey(
name: "FK_Messages_Chats_chat",
name: "FK_Message_Chat_chat",
column: x => x.chat,
principalTable: "Chats",
principalTable: "Chat",
principalColumn: "chatId",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Messages_Players_player",
name: "FK_Message_Player_player",
column: x => x.player,
principalTable: "Players",
principalTable: "Player",
principalColumn: "playerId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.InsertData(
table: "Player",
columns: new[] { "playerId", "name", "nbBallTouchTotal", "timePlayed" },
values: new object[,]
{
{ 1, "Rami", 20, 120 },
{ 2, "Hugo", 90, 250 }
});
migrationBuilder.InsertData(
table: "Chat",
columns: new[] { "chatId", "player1", "player2" },
values: new object[] { 1, 1, 2 });
migrationBuilder.InsertData(
table: "Game",
columns: new[] { "gameId", "durationGame", "loser", "nbMaxEchanges", "winner" },
values: new object[] { 1, 65, 2, 5, 1 });
migrationBuilder.InsertData(
table: "Message",
columns: new[] { "messageId", "chat", "message", "player", "timestamp" },
values: new object[,]
{
{ 1, 1, "Salut mon gars !", 1, new DateTime(2023, 2, 16, 17, 5, 12, 0, DateTimeKind.Unspecified) },
{ 2, 1, "Comment tu vas ?", 2, new DateTime(2023, 2, 16, 17, 12, 35, 0, DateTimeKind.Unspecified) }
});
migrationBuilder.CreateIndex(
name: "IX_Chats_recipient",
table: "Chats",
column: "recipient");
name: "IX_Chat_player1",
table: "Chat",
column: "player1");
migrationBuilder.CreateIndex(
name: "IX_Chats_sender",
table: "Chats",
column: "sender");
name: "IX_Chat_player2",
table: "Chat",
column: "player2");
migrationBuilder.CreateIndex(
name: "IX_Games_loser",
table: "Games",
name: "IX_Game_loser",
table: "Game",
column: "loser");
migrationBuilder.CreateIndex(
name: "IX_Games_winner",
table: "Games",
name: "IX_Game_winner",
table: "Game",
column: "winner");
migrationBuilder.CreateIndex(
name: "IX_Messages_chat",
table: "Messages",
name: "IX_Message_chat",
table: "Message",
column: "chat");
migrationBuilder.CreateIndex(
name: "IX_Messages_player",
table: "Messages",
name: "IX_Message_player",
table: "Message",
column: "player");
}
@ -143,16 +173,16 @@ namespace DataBase.Migrations
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Games");
name: "Game");
migrationBuilder.DropTable(
name: "Messages");
name: "Message");
migrationBuilder.DropTable(
name: "Chats");
name: "Chat");
migrationBuilder.DropTable(
name: "Players");
name: "Player");
}
}
}

@ -1,21 +0,0 @@
// <auto-generated />
using DataBase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DataBase.Migrations
{
[DbContext(typeof(PongDbContext))]
partial class PongDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.3");
#pragma warning restore 612, 618
}
}
}

@ -0,0 +1,228 @@
// <auto-generated />
using System;
using DataBase;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace DataBase.Migrations
{
[DbContext(typeof(PongDbContextWithStub))]
partial class PongDbContextWithStubModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "7.0.3");
modelBuilder.Entity("DataBase.Entity.Chat", b =>
{
b.Property<int>("chatId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("player1")
.HasColumnType("INTEGER");
b.Property<int>("player2")
.HasColumnType("INTEGER");
b.HasKey("chatId");
b.HasIndex("player1");
b.HasIndex("player2");
b.ToTable("Chat");
b.HasData(
new
{
chatId = 1,
player1 = 1,
player2 = 2
});
});
modelBuilder.Entity("DataBase.Entity.Game", b =>
{
b.Property<int>("gameId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("durationGame")
.HasColumnType("INTEGER");
b.Property<int>("loser")
.HasColumnType("INTEGER");
b.Property<int>("nbMaxEchanges")
.HasColumnType("INTEGER");
b.Property<int>("winner")
.HasColumnType("INTEGER");
b.HasKey("gameId");
b.HasIndex("loser");
b.HasIndex("winner");
b.ToTable("Game");
b.HasData(
new
{
gameId = 1,
durationGame = 65,
loser = 2,
nbMaxEchanges = 5,
winner = 1
});
});
modelBuilder.Entity("DataBase.Entity.Message", b =>
{
b.Property<int>("messageId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<int>("chat")
.HasColumnType("INTEGER");
b.Property<string>("message")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int>("player")
.HasColumnType("INTEGER");
b.Property<DateTime>("timestamp")
.HasColumnType("TEXT");
b.HasKey("messageId");
b.HasIndex("chat");
b.HasIndex("player");
b.ToTable("Message");
b.HasData(
new
{
messageId = 1,
chat = 1,
message = "Salut mon gars !",
player = 1,
timestamp = new DateTime(2023, 2, 16, 17, 5, 12, 0, DateTimeKind.Unspecified)
},
new
{
messageId = 2,
chat = 1,
message = "Comment tu vas ?",
player = 2,
timestamp = new DateTime(2023, 2, 16, 17, 12, 35, 0, DateTimeKind.Unspecified)
});
});
modelBuilder.Entity("DataBase.Entity.Player", b =>
{
b.Property<int>("playerId")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property<string>("name")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int>("nbBallTouchTotal")
.HasColumnType("INTEGER");
b.Property<int>("timePlayed")
.HasColumnType("INTEGER");
b.HasKey("playerId");
b.ToTable("Player");
b.HasData(
new
{
playerId = 1,
name = "Rami",
nbBallTouchTotal = 20,
timePlayed = 120
},
new
{
playerId = 2,
name = "Hugo",
nbBallTouchTotal = 90,
timePlayed = 250
});
});
modelBuilder.Entity("DataBase.Entity.Chat", b =>
{
b.HasOne("DataBase.Entity.Player", "PlayerId1")
.WithMany()
.HasForeignKey("player1")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerId2")
.WithMany()
.HasForeignKey("player2")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayerId1");
b.Navigation("PlayerId2");
});
modelBuilder.Entity("DataBase.Entity.Game", b =>
{
b.HasOne("DataBase.Entity.Player", "PlayerLoser")
.WithMany()
.HasForeignKey("loser")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerWinner")
.WithMany()
.HasForeignKey("winner")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PlayerLoser");
b.Navigation("PlayerWinner");
});
modelBuilder.Entity("DataBase.Entity.Message", b =>
{
b.HasOne("DataBase.Entity.Chat", "ChatId")
.WithMany()
.HasForeignKey("chat")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerId")
.WithMany()
.HasForeignKey("player")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ChatId");
b.Navigation("PlayerId");
});
#pragma warning restore 612, 618
}
}
}

Binary file not shown.

@ -1,4 +1,7 @@
using System;
using DataBase.Entity;
using Microsoft.EntityFrameworkCore;
using Microsoft.VisualBasic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -8,6 +11,23 @@ namespace DataBase
{
public class PongDbContextWithStub : PongDbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
Player player1 = new() { playerId = 1, name = "Rami", timePlayed = 120, nbBallTouchTotal = 20 };
Player player2 = new() { playerId = 2, name = "Hugo", timePlayed = 250, nbBallTouchTotal = 90 };
modelBuilder.Entity<Player>().HasData(player1, player2);
Game game = new() { gameId = 1, durationGame = 65, nbMaxEchanges = 5, winner = 1, loser = 2 };
modelBuilder.Entity<Game>().HasData(game);
Chat chat = new() { chatId = 1, player1 = 1, player2 = 2 };
modelBuilder.Entity<Chat>().HasData(chat);
Message message1 = new() { messageId = 1, message = "Salut mon gars !", player = 1, timestamp = new DateTime(2023, 02, 16, 17, 05, 12), chat = 1 };
Message message2 = new() { messageId = 2, message = "Comment tu vas ?", player = 2, timestamp = new DateTime(2023, 02, 16, 17, 12, 35), chat = 1 };
modelBuilder.Entity<Message>().HasData(message1, message2);
}
}
}

Loading…
Cancel
Save