using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace EchoHub.Server.Data.Migrations { /// public partial class AddChannelMembership : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "ChannelMemberships", columns: table => new { UserId = table.Column(type: "TEXT", nullable: false), ChannelId = table.Column(type: "TEXT", nullable: false), JoinedAt = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_ChannelMemberships", x => new { x.UserId, x.ChannelId }); table.ForeignKey( name: "FK_ChannelMemberships_Channels_ChannelId", column: x => x.ChannelId, principalTable: "Channels", principalColumn: "Id", onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_ChannelMemberships_Users_UserId", column: x => x.UserId, principalTable: "Users", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateIndex( name: "IX_ChannelMemberships_ChannelId", table: "ChannelMemberships", column: "ChannelId"); migrationBuilder.CreateIndex( name: "IX_ChannelMemberships_UserId", table: "ChannelMemberships", column: "UserId"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ChannelMemberships"); } } }