/// <summary>
        ///     Creates a new <see cref="AddUniqueConstraintOperation" /> from the specified unique constraint.
        /// </summary>
        /// <param name="uniqueConstraint"> The unique constraint. </param>
        /// <returns> The operation. </returns>
        public static AddUniqueConstraintOperation CreateFrom([NotNull] IUniqueConstraint uniqueConstraint)
        {
            Check.NotNull(uniqueConstraint, nameof(uniqueConstraint));

            var operation = new AddUniqueConstraintOperation
            {
                Schema  = uniqueConstraint.Table.Schema,
                Table   = uniqueConstraint.Table.Name,
                Name    = uniqueConstraint.Name,
                Columns = uniqueConstraint.Columns.Select(c => c.Name).ToArray()
            };

            operation.AddAnnotations(uniqueConstraint.GetAnnotations());

            return(operation);
        }
 protected override void Generate(AddUniqueConstraintOperation operation, IModel model, MigrationCommandListBuilder builder)
 {
     throw new NotSupportedException(SqliteStrings.InvalidMigrationOperation(operation.GetType().Name));
 }