foreign<Model extends Entity<dynamic, Object>, ReferenceModel extends Entity<dynamic, Object>> method

void foreign<Model extends Entity<dynamic, Object>, ReferenceModel extends Entity<dynamic, Object>>({
  1. String? column,
  2. ForeignKey onKey(
    1. ForeignKey fkey
    )?,
})

Implementation

void foreign<Model extends Entity, ReferenceModel extends Entity>({
  String? column,
  ForeignKey Function(ForeignKey fkey)? onKey,
}) {
  final table = getEntityTableName(Model);
  final colName = column ?? '${ReferenceModel.toString().camelCase}Id';

  final referenceTable = getEntityTableName(ReferenceModel);
  final referenceTablePrimaryKey = getEntityPrimaryKey(ReferenceModel);
  final fkey = ForeignKey(table, colName,
      foreignTable: referenceTable,
      foreignTableColumn: referenceTablePrimaryKey);
  onKey?.call(fkey);
}