Пример #1
0
 /// <summary>
 /// Extract UniqueKey Definition from context
 /// </summary>
 /// <param name="context"></param>
 /// <returns></returns>
 public static MySqlKeyDefinition ExtractUniqueKey(UniqueKeyTableConstraintContext context)
 {
     if (context == null)
     {
         throw new ArgumentOutOfRangeException($"{nameof(context)} is null");
     }
     return(ExtractKeyDefinition(context));
 }
        /// <summary>
        /// Listener for Unique Key detection
        /// </summary>
        /// <param name="context"></param>
        public override void EnterUniqueKeyTableConstraint([NotNull] UniqueKeyTableConstraintContext context)
        {
            base.EnterUniqueKeyTableConstraint(context);

            // unique key
            var definition = MySqlKeyDefinition.ExtractUniqueKey(context);

            TableDefinition.AddUniqueKey(definition);

            // map UniqueKey and existing Column reference
            definition.AddUniqueKeyReferenceOnColumn(TableDefinition.Columns);
        }