/// <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); }