like method

bool like(
  1. ForeignKeyDefinition other
)

Implementation

bool like(ForeignKeyDefinition other) {
  // Columns
  if (other.columns.length != columns.length) {
    return false;
  }
  for (int i = 0; i < columns.length; i += 1) {
    if (other.columns[i] != columns[i]) {
      return false;
    }
  }

  // Reference columns
  if (other.referenceColumns.length != referenceColumns.length) {
    return false;
  }
  for (int i = 0; i < referenceColumns.length; i += 1) {
    if (other.referenceColumns[i] != referenceColumns[i]) {
      return false;
    }
  }
  // Default match type and action
  var dMT = ForeignKeyMatchType.simple;
  var dKA = ForeignKeyAction.noAction;

  // Other fields
  var cName = other.constraintName == constraintName;
  var cMatchType = (other.matchType ?? dMT) == (matchType ?? dMT);
  var cOnDelete = other.onDelete == onDelete;
  var cOnUpdate = (other.onUpdate ?? dKA) == (onUpdate ?? dKA);
  var cReferenceTable = other.referenceTable == referenceTable;
  var cReferenceSchema = other.referenceTableSchema == referenceTableSchema;

  return cName &&
      cMatchType &&
      cOnDelete &&
      cOnUpdate &&
      cReferenceTable &&
      cReferenceSchema;
}