[Database] Add migrations for production
This commit is contained in:
152
Cocotte/Migrations/20230325153626_InitialCreate.Designer.cs
generated
Normal file
152
Cocotte/Migrations/20230325153626_InitialCreate.Designer.cs
generated
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using Cocotte.Services;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Cocotte.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(CocotteDbContext))]
|
||||||
|
[Migration("20230325153626_InitialCreate")]
|
||||||
|
partial class InitialCreate
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "7.0.4");
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("AreRolesEnabled")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("CreatorDisplayName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<ulong>("CreatorUserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<uint>("MaxPlayers")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Name")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ThreadId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Type")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId");
|
||||||
|
|
||||||
|
b.HasIndex("ThreadId");
|
||||||
|
|
||||||
|
b.ToTable("Activities");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("Activity");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("UserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId", "UserId");
|
||||||
|
|
||||||
|
b.ToTable("ActivityPlayers");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("ActivityPlayer");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.InterstellarActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<int>("Color")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("InterstellarActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.StagedActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<uint>("Stage")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("StagedActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityRolePlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.ActivityPlayer");
|
||||||
|
|
||||||
|
b.Property<byte>("Roles")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("ActivityRolePlayer");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Cocotte.Modules.Activities.Models.Activity", "Activity")
|
||||||
|
.WithMany("ActivityPlayers")
|
||||||
|
.HasForeignKey("GuildId", "ChannelId", "MessageId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Activity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ActivityPlayers");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
76
Cocotte/Migrations/20230325153626_InitialCreate.cs
Normal file
76
Cocotte/Migrations/20230325153626_InitialCreate.cs
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Cocotte.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class InitialCreate : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Activities",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
GuildId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
ChannelId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
MessageId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
ThreadId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
CreatorUserId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
CreatorDisplayName = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
Description = table.Column<string>(type: "TEXT", nullable: true),
|
||||||
|
Type = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
Name = table.Column<int>(type: "INTEGER", nullable: false),
|
||||||
|
AreRolesEnabled = table.Column<bool>(type: "INTEGER", nullable: false),
|
||||||
|
MaxPlayers = table.Column<uint>(type: "INTEGER", nullable: false),
|
||||||
|
Discriminator = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
Color = table.Column<int>(type: "INTEGER", nullable: true),
|
||||||
|
Stage = table.Column<uint>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Activities", x => new { x.GuildId, x.ChannelId, x.MessageId });
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "ActivityPlayers",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
UserId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
GuildId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
ChannelId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
MessageId = table.Column<ulong>(type: "INTEGER", nullable: false),
|
||||||
|
Name = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
Discriminator = table.Column<string>(type: "TEXT", nullable: false),
|
||||||
|
Roles = table.Column<byte>(type: "INTEGER", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_ActivityPlayers", x => new { x.GuildId, x.ChannelId, x.MessageId, x.UserId });
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_ActivityPlayers_Activities_GuildId_ChannelId_MessageId",
|
||||||
|
columns: x => new { x.GuildId, x.ChannelId, x.MessageId },
|
||||||
|
principalTable: "Activities",
|
||||||
|
principalColumns: new[] { "GuildId", "ChannelId", "MessageId" },
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Activities_ThreadId",
|
||||||
|
table: "Activities",
|
||||||
|
column: "ThreadId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "ActivityPlayers");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Activities");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
156
Cocotte/Migrations/20230325184735_AddActivityCreationDate.Designer.cs
generated
Normal file
156
Cocotte/Migrations/20230325184735_AddActivityCreationDate.Designer.cs
generated
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Cocotte.Services;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Cocotte.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(CocotteDbContext))]
|
||||||
|
[Migration("20230325184735_AddActivityCreationDate")]
|
||||||
|
partial class AddActivityCreationDate
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "7.0.4");
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("AreRolesEnabled")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CreatorDisplayName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<ulong>("CreatorUserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<uint>("MaxPlayers")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Name")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ThreadId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Type")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId");
|
||||||
|
|
||||||
|
b.HasIndex("ThreadId");
|
||||||
|
|
||||||
|
b.ToTable("Activities");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("Activity");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("UserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId", "UserId");
|
||||||
|
|
||||||
|
b.ToTable("ActivityPlayers");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("ActivityPlayer");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.InterstellarActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<int>("Color")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("InterstellarActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.StagedActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<uint>("Stage")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("StagedActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityRolePlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.ActivityPlayer");
|
||||||
|
|
||||||
|
b.Property<byte>("Roles")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("ActivityRolePlayer");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Cocotte.Modules.Activities.Models.Activity", "Activity")
|
||||||
|
.WithMany("ActivityPlayers")
|
||||||
|
.HasForeignKey("GuildId", "ChannelId", "MessageId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Activity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ActivityPlayers");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Cocotte/Migrations/20230325184735_AddActivityCreationDate.cs
Normal file
30
Cocotte/Migrations/20230325184735_AddActivityCreationDate.cs
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Cocotte.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddActivityCreationDate : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<DateTime>(
|
||||||
|
name: "CreationDate",
|
||||||
|
table: "Activities",
|
||||||
|
type: "TEXT",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "CreationDate",
|
||||||
|
table: "Activities");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
153
Cocotte/Migrations/CocotteDbContextModelSnapshot.cs
Normal file
153
Cocotte/Migrations/CocotteDbContextModelSnapshot.cs
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Cocotte.Services;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Cocotte.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(CocotteDbContext))]
|
||||||
|
partial class CocotteDbContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder.HasAnnotation("ProductVersion", "7.0.4");
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<bool>("AreRolesEnabled")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreationDate")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("CreatorDisplayName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<ulong>("CreatorUserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<uint>("MaxPlayers")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Name")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ThreadId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<int>("Type")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId");
|
||||||
|
|
||||||
|
b.HasIndex("ThreadId");
|
||||||
|
|
||||||
|
b.ToTable("Activities");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("Activity");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.Property<ulong>("GuildId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("ChannelId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("MessageId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<ulong>("UserId")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.Property<string>("Discriminator")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
|
b.HasKey("GuildId", "ChannelId", "MessageId", "UserId");
|
||||||
|
|
||||||
|
b.ToTable("ActivityPlayers");
|
||||||
|
|
||||||
|
b.HasDiscriminator<string>("Discriminator").HasValue("ActivityPlayer");
|
||||||
|
|
||||||
|
b.UseTphMappingStrategy();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.InterstellarActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<int>("Color")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("InterstellarActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.StagedActivity", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.Activity");
|
||||||
|
|
||||||
|
b.Property<uint>("Stage")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("StagedActivity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityRolePlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasBaseType("Cocotte.Modules.Activities.Models.ActivityPlayer");
|
||||||
|
|
||||||
|
b.Property<byte>("Roles")
|
||||||
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
|
b.HasDiscriminator().HasValue("ActivityRolePlayer");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.ActivityPlayer", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Cocotte.Modules.Activities.Models.Activity", "Activity")
|
||||||
|
.WithMany("ActivityPlayers")
|
||||||
|
.HasForeignKey("GuildId", "ChannelId", "MessageId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Activity");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Cocotte.Modules.Activities.Models.Activity", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ActivityPlayers");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,6 +23,8 @@ public class Activity
|
|||||||
public required bool AreRolesEnabled { get; init; }
|
public required bool AreRolesEnabled { get; init; }
|
||||||
public required uint MaxPlayers { get; set; }
|
public required uint MaxPlayers { get; set; }
|
||||||
|
|
||||||
|
public DateTime CreationDate { get; init; } = DateTime.Now;
|
||||||
|
|
||||||
public List<ActivityPlayer> ActivityPlayers { get; init; } = new();
|
public List<ActivityPlayer> ActivityPlayers { get; init; } = new();
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
|
|||||||
@@ -74,12 +74,17 @@ await using(var scope = host.Services.CreateAsyncScope())
|
|||||||
{
|
{
|
||||||
var hostEnvironment = scope.ServiceProvider.GetRequiredService<IHostEnvironment>();
|
var hostEnvironment = scope.ServiceProvider.GetRequiredService<IHostEnvironment>();
|
||||||
|
|
||||||
|
var dbContext = scope.ServiceProvider.GetRequiredService<CocotteDbContext>();
|
||||||
if (hostEnvironment.IsDevelopment())
|
if (hostEnvironment.IsDevelopment())
|
||||||
{
|
{
|
||||||
var dbContext = scope.ServiceProvider.GetRequiredService<CocotteDbContext>();
|
|
||||||
// await dbContext.Database.EnsureDeletedAsync();
|
// await dbContext.Database.EnsureDeletedAsync();
|
||||||
await dbContext.Database.EnsureCreatedAsync();
|
await dbContext.Database.EnsureCreatedAsync();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Apply migrations
|
||||||
|
await dbContext.Database.MigrateAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await host.RunAsync();
|
await host.RunAsync();
|
||||||
0
identifier.sqlite
Normal file
0
identifier.sqlite
Normal file
Reference in New Issue
Block a user