addColumnNeedsRebuild method

bool addColumnNeedsRebuild(
  1. TableDefinition targetTable
)

Implementation

bool addColumnNeedsRebuild(TableDefinition targetTable) {
  final isUnique = targetTable.indexes
      .where((index) => index.isUnique)
      .any((i) => i.elements.any((c) => c.definition == name));

  if (isPrimary || isUnique) return true;
  final defaultSql = columnType.getSqliteColumnDefault(columnDefault);
  if (defaultSql == null) return false;
  final literal = _literalDefault.matchAsPrefix(defaultSql);
  return literal == null ||
      literal.end != defaultSql.length ||
      (!isNullable && defaultSql.toUpperCase() == 'NULL');
}