diff options
Diffstat (limited to 'api/WhatApi/Migrations/20251013213511_Initial.cs')
| -rw-r--r-- | api/WhatApi/Migrations/20251013213511_Initial.cs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/api/WhatApi/Migrations/20251013213511_Initial.cs b/api/WhatApi/Migrations/20251013213511_Initial.cs new file mode 100644 index 0000000..1fa8bbf --- /dev/null +++ b/api/WhatApi/Migrations/20251013213511_Initial.cs @@ -0,0 +1,75 @@ +using System; +using System.Net; +using Microsoft.EntityFrameworkCore.Migrations; +using NetTopologySuite.Geometries; + +#nullable disable + +namespace WhatApi.Migrations +{ + /// <inheritdoc /> + public partial class Initial : Migration + { + /// <inheritdoc /> + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterDatabase() + .Annotation("Npgsql:PostgresExtension:postgis", ",,"); + + migrationBuilder.CreateTable( + name: "Content", + columns: table => new + { + Id = table.Column<Guid>(type: "uuid", nullable: false), + Mime = table.Column<string>(type: "text", nullable: false), + Created = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), + BlobId = table.Column<Guid>(type: "uuid", nullable: false), + Ip = table.Column<IPAddress>(type: "inet", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Content", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Place", + columns: table => new + { + Id = table.Column<Guid>(type: "uuid", nullable: false), + ContentId = table.Column<Guid>(type: "uuid", nullable: false), + Location = table.Column<Point>(type: "geometry(point,4326)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Place", x => x.Id); + table.ForeignKey( + name: "FK_Place_Content_ContentId", + column: x => x.ContentId, + principalTable: "Content", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_Place_ContentId", + table: "Place", + column: "ContentId"); + + migrationBuilder.CreateIndex( + name: "IX_Place_Location", + table: "Place", + column: "Location") + .Annotation("Npgsql:IndexMethod", "gist"); + } + + /// <inheritdoc /> + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Place"); + + migrationBuilder.DropTable( + name: "Content"); + } + } +} |
