MCPcopy Create free account
hub / github.com/dbcli/mycli / foreign_keys

Method foreign_keys

mycli/sqlexecute.py:444–454  ·  view source on GitHub ↗

Yields (table_name, column_name, referenced_table_name, referenced_column_name) tuples for *schema*.

(self, schema: str | None = None)

Source from the content-addressed store, hash-verified

442 yield (table_name, column_name, values)
443
444 def foreign_keys(self, schema: str | None = None) -> Generator[tuple[str, str, str, str], None, None]:
445 """Yields (table_name, column_name, referenced_table_name, referenced_column_name) tuples for *schema*."""
446 target = schema if schema is not None else self.dbname
447 assert isinstance(self.conn, Connection)
448 with self.conn.cursor() as cur:
449 _logger.debug("Foreign Keys Query. sql: %r schema: %r", self.foreign_keys_query, target)
450 try:
451 cur.execute(self.foreign_keys_query, (target,))
452 yield from cur
453 except Exception as e:
454 _logger.error('No foreign key completions due to %r', e)
455
456 def databases(self) -> list[str]:
457 assert isinstance(self.conn, Connection)

Calls 4

cursorMethod · 0.45
debugMethod · 0.45
executeMethod · 0.45
errorMethod · 0.45