private bool IsBefore(MigrationDescriptor x, MigrationDescriptor y)
        {
            if (x == y)
            {
                return(false);
            }

            if (DependsOn(x, y))
            {
                return(false);
            }

            if (DependsOn(y, x))
            {
                return(true);
            }

            if (x.SequenceNo != null && y.SequenceNo != null && x.SequenceNo < y.SequenceNo)
            {
                return(x.SequenceNo < y.SequenceNo);
            }

            return(false);
        }
 private bool DependsOn(MigrationDescriptor x, MigrationDescriptor y)
 {
     return(DependsOn(x.Id, y.Id));
 }