Files
tbd-station-14/Content.Server.Database/Migrations/Postgres/20200124133512_InitialPg.cs
2020-01-24 17:25:01 +01:00

106 lines
4.5 KiB
C#

using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace Content.Server.Database.Migrations.Postgres
{
public partial class InitialPg : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Preferences",
columns: table => new
{
PrefsId = table.Column<int>(nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Username = table.Column<string>(nullable: false),
SelectedCharacterSlot = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Preferences", x => x.PrefsId);
});
migrationBuilder.CreateTable(
name: "HumanoidProfile",
columns: table => new
{
HumanoidProfileId = table.Column<int>(nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Slot = table.Column<int>(nullable: false),
SlotName = table.Column<string>(nullable: false),
CharacterName = table.Column<string>(nullable: false),
Age = table.Column<int>(nullable: false),
Sex = table.Column<string>(nullable: false),
HairName = table.Column<string>(nullable: false),
HairColor = table.Column<string>(nullable: false),
FacialHairName = table.Column<string>(nullable: false),
FacialHairColor = table.Column<string>(nullable: false),
EyeColor = table.Column<string>(nullable: false),
SkinColor = table.Column<string>(nullable: false),
PreferenceUnavailable = table.Column<int>(nullable: false),
PrefsId = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_HumanoidProfile", x => x.HumanoidProfileId);
table.ForeignKey(
name: "FK_HumanoidProfile_Preferences_PrefsId",
column: x => x.PrefsId,
principalTable: "Preferences",
principalColumn: "PrefsId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Job",
columns: table => new
{
JobId = table.Column<int>(nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
ProfileHumanoidProfileId = table.Column<int>(nullable: false),
JobName = table.Column<string>(nullable: false),
Priority = table.Column<int>(nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Job", x => x.JobId);
table.ForeignKey(
name: "FK_Job_HumanoidProfile_ProfileHumanoidProfileId",
column: x => x.ProfileHumanoidProfileId,
principalTable: "HumanoidProfile",
principalColumn: "HumanoidProfileId",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_HumanoidProfile_PrefsId",
table: "HumanoidProfile",
column: "PrefsId");
migrationBuilder.CreateIndex(
name: "IX_Job_ProfileHumanoidProfileId",
table: "Job",
column: "ProfileHumanoidProfileId");
migrationBuilder.CreateIndex(
name: "IX_Preferences_Username",
table: "Preferences",
column: "Username",
unique: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Job");
migrationBuilder.DropTable(
name: "HumanoidProfile");
migrationBuilder.DropTable(
name: "Preferences");
}
}
}