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 class Chat
{ {
public int chatId { get; set; } public int chatId { get; set; }
public int sender { get; set; } public int player1 { get; set; }
public int recipient { get; set; } public int player2 { get; set; }
[ForeignKey("sender")] [ForeignKey("player1")]
public Player PlayerSender { get; set; } public Player PlayerId1 { get; set; }
[ForeignKey("recipient")] [ForeignKey("player2")]
public Player PlayerRecipient { get; set; } public Player PlayerId2 { get; set; }
} }
} }

@ -8,7 +8,7 @@ namespace DataBase.Entity
{ {
public int messageId { get; set; } public int messageId { get; set; }
public string message { get; set; } public string message { get; set; }
public TimeSpan timestamp { get; set; } public DateTime timestamp { get; set; }
public int player { get; set; } public int player { get; set; }
public int chat { 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 namespace DataBase.Migrations
{ {
[DbContext(typeof(PongDbContext))] [DbContext(typeof(PongDbContextWithStub))]
[Migration("20230216153344_initMigration")] [Migration("20230216161314_initMigration")]
partial class initMigration partial class initMigration
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -26,19 +26,27 @@ namespace DataBase.Migrations
.ValueGeneratedOnAdd() .ValueGeneratedOnAdd()
.HasColumnType("INTEGER"); .HasColumnType("INTEGER");
b.Property<int>("recipient") b.Property<int>("player1")
.HasColumnType("INTEGER"); .HasColumnType("INTEGER");
b.Property<int>("sender") b.Property<int>("player2")
.HasColumnType("INTEGER"); .HasColumnType("INTEGER");
b.HasKey("chatId"); 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 => modelBuilder.Entity("DataBase.Entity.Game", b =>
@ -65,7 +73,17 @@ namespace DataBase.Migrations
b.HasIndex("winner"); 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 => modelBuilder.Entity("DataBase.Entity.Message", b =>
@ -84,7 +102,7 @@ namespace DataBase.Migrations
b.Property<int>("player") b.Property<int>("player")
.HasColumnType("INTEGER"); .HasColumnType("INTEGER");
b.Property<TimeSpan>("timestamp") b.Property<DateTime>("timestamp")
.HasColumnType("TEXT"); .HasColumnType("TEXT");
b.HasKey("messageId"); b.HasKey("messageId");
@ -93,7 +111,25 @@ namespace DataBase.Migrations
b.HasIndex("player"); 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 => modelBuilder.Entity("DataBase.Entity.Player", b =>
@ -114,26 +150,42 @@ namespace DataBase.Migrations
b.HasKey("playerId"); 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 => modelBuilder.Entity("DataBase.Entity.Chat", b =>
{ {
b.HasOne("DataBase.Entity.Player", "PlayerRecipient") b.HasOne("DataBase.Entity.Player", "PlayerId1")
.WithMany() .WithMany()
.HasForeignKey("recipient") .HasForeignKey("player1")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("DataBase.Entity.Player", "PlayerSender") b.HasOne("DataBase.Entity.Player", "PlayerId2")
.WithMany() .WithMany()
.HasForeignKey("sender") .HasForeignKey("player2")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.Navigation("PlayerRecipient"); b.Navigation("PlayerId1");
b.Navigation("PlayerSender"); b.Navigation("PlayerId2");
}); });
modelBuilder.Entity("DataBase.Entity.Game", b => modelBuilder.Entity("DataBase.Entity.Game", b =>

@ -3,6 +3,8 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable #nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace DataBase.Migrations namespace DataBase.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -12,7 +14,7 @@ namespace DataBase.Migrations
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Players", name: "Player",
columns: table => new columns: table => new
{ {
playerId = table.Column<int>(type: "INTEGER", nullable: false) playerId = table.Column<int>(type: "INTEGER", nullable: false)
@ -23,37 +25,37 @@ namespace DataBase.Migrations
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Players", x => x.playerId); table.PrimaryKey("PK_Player", x => x.playerId);
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Chats", name: "Chat",
columns: table => new columns: table => new
{ {
chatId = table.Column<int>(type: "INTEGER", nullable: false) chatId = table.Column<int>(type: "INTEGER", nullable: false)
.Annotation("Sqlite:Autoincrement", true), .Annotation("Sqlite:Autoincrement", true),
sender = table.Column<int>(type: "INTEGER", nullable: false), player1 = table.Column<int>(type: "INTEGER", nullable: false),
recipient = table.Column<int>(type: "INTEGER", nullable: false) player2 = table.Column<int>(type: "INTEGER", nullable: false)
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Chats", x => x.chatId); table.PrimaryKey("PK_Chat", x => x.chatId);
table.ForeignKey( table.ForeignKey(
name: "FK_Chats_Players_recipient", name: "FK_Chat_Player_player1",
column: x => x.recipient, column: x => x.player1,
principalTable: "Players", principalTable: "Player",
principalColumn: "playerId", principalColumn: "playerId",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_Chats_Players_sender", name: "FK_Chat_Player_player2",
column: x => x.sender, column: x => x.player2,
principalTable: "Players", principalTable: "Player",
principalColumn: "playerId", principalColumn: "playerId",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Games", name: "Game",
columns: table => new columns: table => new
{ {
gameId = table.Column<int>(type: "INTEGER", nullable: false) gameId = table.Column<int>(type: "INTEGER", nullable: false)
@ -65,77 +67,105 @@ namespace DataBase.Migrations
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Games", x => x.gameId); table.PrimaryKey("PK_Game", x => x.gameId);
table.ForeignKey( table.ForeignKey(
name: "FK_Games_Players_loser", name: "FK_Game_Player_loser",
column: x => x.loser, column: x => x.loser,
principalTable: "Players", principalTable: "Player",
principalColumn: "playerId", principalColumn: "playerId",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_Games_Players_winner", name: "FK_Game_Player_winner",
column: x => x.winner, column: x => x.winner,
principalTable: "Players", principalTable: "Player",
principalColumn: "playerId", principalColumn: "playerId",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Messages", name: "Message",
columns: table => new columns: table => new
{ {
messageId = table.Column<int>(type: "INTEGER", nullable: false) messageId = table.Column<int>(type: "INTEGER", nullable: false)
.Annotation("Sqlite:Autoincrement", true), .Annotation("Sqlite:Autoincrement", true),
message = table.Column<string>(type: "TEXT", nullable: false), 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), player = table.Column<int>(type: "INTEGER", nullable: false),
chat = table.Column<int>(type: "INTEGER", nullable: false) chat = table.Column<int>(type: "INTEGER", nullable: false)
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Messages", x => x.messageId); table.PrimaryKey("PK_Message", x => x.messageId);
table.ForeignKey( table.ForeignKey(
name: "FK_Messages_Chats_chat", name: "FK_Message_Chat_chat",
column: x => x.chat, column: x => x.chat,
principalTable: "Chats", principalTable: "Chat",
principalColumn: "chatId", principalColumn: "chatId",
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_Messages_Players_player", name: "FK_Message_Player_player",
column: x => x.player, column: x => x.player,
principalTable: "Players", principalTable: "Player",
principalColumn: "playerId", principalColumn: "playerId",
onDelete: ReferentialAction.Cascade); 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( migrationBuilder.CreateIndex(
name: "IX_Chats_recipient", name: "IX_Chat_player1",
table: "Chats", table: "Chat",
column: "recipient"); column: "player1");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Chats_sender", name: "IX_Chat_player2",
table: "Chats", table: "Chat",
column: "sender"); column: "player2");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Games_loser", name: "IX_Game_loser",
table: "Games", table: "Game",
column: "loser"); column: "loser");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Games_winner", name: "IX_Game_winner",
table: "Games", table: "Game",
column: "winner"); column: "winner");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Messages_chat", name: "IX_Message_chat",
table: "Messages", table: "Message",
column: "chat"); column: "chat");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Messages_player", name: "IX_Message_player",
table: "Messages", table: "Message",
column: "player"); column: "player");
} }
@ -143,16 +173,16 @@ namespace DataBase.Migrations
protected override void Down(MigrationBuilder migrationBuilder) protected override void Down(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Games"); name: "Game");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Messages"); name: "Message");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Chats"); name: "Chat");
migrationBuilder.DropTable( 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.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@ -8,6 +11,23 @@ namespace DataBase
{ {
public class PongDbContextWithStub : PongDbContext 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