hasForeignKey function

Future<bool> hasForeignKey(
  1. String foreignKeyName
)

check if a database has a foreign key. Foreign key names are global.

Implementation

Future<bool> hasForeignKey(String foreignKeyName) async {
  final sql = '''
  SELECT * FROM sys.objects o
  WHERE o.object_id = object_id(N'[dbo].[`$foreignKeyName`]')
  AND OBJECTPROPERTY(o.object_id, N'IsForeignKey') = 1)''';

  final results = await Transaction.current.db.query(sql);
  return results.rows.isNotEmpty;
}