using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Migrations
{
    /// <summary>
    /// Adds the <c>OriginExecutionId</c> correlation column to the central
    /// <c>Notifications</c> table (#21). It carries the originating script execution's
    /// <c>ExecutionId</c> from the site so the dispatcher can echo it onto the
    /// <c>NotifyDeliver</c> audit rows (#23), linking them to the site's <c>NotifySend</c>
    /// row for the same run.
    ///
    /// The change is purely additive: <c>OriginExecutionId uniqueidentifier NULL</c> is
    /// added with no default, so the operation is a metadata-only <c>ALTER TABLE … ADD</c>.
    /// Unlike <c>AuditLog</c>, the <c>Notifications</c> table is NOT partitioned, so a
    /// plain <c>ADD</c> is fine. No index is created — the column is never a query
    /// predicate, only copied onto audit events. Historical rows stay <c>NULL</c>.
    /// </summary>
    public partial class AddNotificationOriginExecutionId : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<Guid>(
                name: "OriginExecutionId",
                table: "Notifications",
                type: "uniqueidentifier",
                nullable: true);
        }

        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropColumn(
                name: "OriginExecutionId",
                table: "Notifications");
        }
    }
}
