| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- using System;
- using System.Net;
- using Microsoft.EntityFrameworkCore.Migrations;
- using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
- namespace Content.Server.Database.Migrations.Postgres
- {
- public partial class Init : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "assigned_user_id",
- columns: table => new
- {
- assigned_user_id_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- user_name = table.Column<string>(nullable: false),
- user_id = table.Column<Guid>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_assigned_user_id", x => x.assigned_user_id_id);
- });
- migrationBuilder.CreateTable(
- name: "connection_log",
- columns: table => new
- {
- connection_log_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- user_id = table.Column<Guid>(nullable: false),
- user_name = table.Column<string>(nullable: false),
- time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
- address = table.Column<IPAddress>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_connection_log", x => x.connection_log_id);
- table.CheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
- });
- migrationBuilder.CreateTable(
- name: "player",
- columns: table => new
- {
- player_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- user_id = table.Column<Guid>(nullable: false),
- first_seen_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
- last_seen_user_name = table.Column<string>(nullable: false),
- last_seen_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
- last_seen_address = table.Column<IPAddress>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_player", x => x.player_id);
- table.CheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
- });
- migrationBuilder.CreateTable(
- name: "preference",
- columns: table => new
- {
- preference_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- user_id = table.Column<Guid>(nullable: false),
- selected_character_slot = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_preference", x => x.preference_id);
- });
- migrationBuilder.CreateTable(
- name: "server_ban",
- columns: table => new
- {
- server_ban_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- user_id = table.Column<Guid>(nullable: true),
- address = table.Column<ValueTuple<IPAddress, int>>(type: "inet", nullable: true),
- ban_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
- expiration_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
- reason = table.Column<string>(nullable: false),
- banning_admin = table.Column<Guid>(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_server_ban", x => x.server_ban_id);
- table.CheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
- table.CheckConstraint("HaveEitherAddressOrUserId", "address IS NOT NULL OR user_id IS NOT NULL");
- });
- migrationBuilder.CreateTable(
- name: "profile",
- columns: table => new
- {
- profile_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- slot = table.Column<int>(nullable: false),
- char_name = table.Column<string>(nullable: false),
- age = table.Column<int>(nullable: false),
- sex = table.Column<string>(nullable: false),
- hair_name = table.Column<string>(nullable: false),
- hair_color = table.Column<string>(nullable: false),
- facial_hair_name = table.Column<string>(nullable: false),
- facial_hair_color = table.Column<string>(nullable: false),
- eye_color = table.Column<string>(nullable: false),
- skin_color = table.Column<string>(nullable: false),
- pref_unavailable = table.Column<int>(nullable: false),
- preference_id = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_profile", x => x.profile_id);
- table.ForeignKey(
- name: "FK_profile_preference_preference_id",
- column: x => x.preference_id,
- principalTable: "preference",
- principalColumn: "preference_id",
- onDelete: ReferentialAction.Cascade);
- });
- migrationBuilder.CreateTable(
- name: "server_unban",
- columns: table => new
- {
- unban_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- ban_id = table.Column<int>(nullable: false),
- unbanning_admin = table.Column<Guid>(nullable: true),
- unban_time = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_server_unban", x => x.unban_id);
- table.ForeignKey(
- name: "FK_server_unban_server_ban_ban_id",
- column: x => x.ban_id,
- principalTable: "server_ban",
- principalColumn: "server_ban_id",
- onDelete: ReferentialAction.Cascade);
- });
- migrationBuilder.CreateTable(
- name: "antag",
- columns: table => new
- {
- antag_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- profile_id = table.Column<int>(nullable: false),
- antag_name = table.Column<string>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_antag", x => x.antag_id);
- table.ForeignKey(
- name: "FK_antag_profile_profile_id",
- column: x => x.profile_id,
- principalTable: "profile",
- principalColumn: "profile_id",
- onDelete: ReferentialAction.Cascade);
- });
- migrationBuilder.CreateTable(
- name: "job",
- columns: table => new
- {
- job_id = table.Column<int>(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- profile_id = table.Column<int>(nullable: false),
- job_name = table.Column<string>(nullable: false),
- priority = table.Column<int>(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_job", x => x.job_id);
- table.ForeignKey(
- name: "FK_job_profile_profile_id",
- column: x => x.profile_id,
- principalTable: "profile",
- principalColumn: "profile_id",
- onDelete: ReferentialAction.Cascade);
- });
- migrationBuilder.CreateIndex(
- name: "IX_antag_profile_id_antag_name",
- table: "antag",
- columns: new[] { "profile_id", "antag_name" },
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_assigned_user_id_user_id",
- table: "assigned_user_id",
- column: "user_id",
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_assigned_user_id_user_name",
- table: "assigned_user_id",
- column: "user_name",
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_connection_log_user_id",
- table: "connection_log",
- column: "user_id");
- migrationBuilder.CreateIndex(
- name: "IX_job_profile_id",
- table: "job",
- column: "profile_id");
- migrationBuilder.CreateIndex(
- name: "IX_player_user_id",
- table: "player",
- column: "user_id",
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_preference_user_id",
- table: "preference",
- column: "user_id",
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_profile_preference_id",
- table: "profile",
- column: "preference_id");
- migrationBuilder.CreateIndex(
- name: "IX_profile_slot_preference_id",
- table: "profile",
- columns: new[] { "slot", "preference_id" },
- unique: true);
- migrationBuilder.CreateIndex(
- name: "IX_server_ban_address",
- table: "server_ban",
- column: "address");
- migrationBuilder.CreateIndex(
- name: "IX_server_ban_user_id",
- table: "server_ban",
- column: "user_id");
- migrationBuilder.CreateIndex(
- name: "IX_server_unban_ban_id",
- table: "server_unban",
- column: "ban_id",
- unique: true);
- }
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "antag");
- migrationBuilder.DropTable(
- name: "assigned_user_id");
- migrationBuilder.DropTable(
- name: "connection_log");
- migrationBuilder.DropTable(
- name: "job");
- migrationBuilder.DropTable(
- name: "player");
- migrationBuilder.DropTable(
- name: "server_unban");
- migrationBuilder.DropTable(
- name: "profile");
- migrationBuilder.DropTable(
- name: "server_ban");
- migrationBuilder.DropTable(
- name: "preference");
- }
- }
- }
|