using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Migrations
{
    /// <summary>
    /// Adds the <c>OriginParentExecutionId</c> correlation column to the central
    /// <c>Notifications</c> table (#21). It carries the originating routed script
    /// execution's <c>ParentExecutionId</c> from the site so the dispatcher can echo it
    /// onto the <c>NotifyDeliver</c> audit rows (#23), linking them to the routed run's
    /// parent. Sibling of <c>OriginExecutionId</c>.
    ///
    /// The change is purely additive: <c>OriginParentExecutionId 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 AddNotificationOriginParentExecutionId : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AddColumn<Guid>(
                name: "OriginParentExecutionId",
                table: "Notifications",
                type: "uniqueidentifier",
                nullable: true);
        }

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