function foreign_keys($table) {
$return = array();
+ $on_actions = array("CASCADE", "NO ACTION", "SET NULL", "SET DEFAULT");
foreach (get_rows("EXEC sp_fkeys @fktable_name = " . q($table) . ", @fktable_owner = " . q(get_schema())) as $row) {
$foreign_key = &$return[$row["FK_NAME"]];
$foreign_key["db"] = $row["PKTABLE_QUALIFIER"];
$foreign_key["table"] = $row["PKTABLE_NAME"];
+ $foreign_key["on_update"] = $on_actions[$row["UPDATE_RULE"]];
+ $foreign_key["on_delete"] = $on_actions[$row["DELETE_RULE"]];
$foreign_key["source"][] = $row["FKCOLUMN_NAME"];
$foreign_key["target"][] = $row["PKCOLUMN_NAME"];
}
}
function driver_config() {
+ global $on_actions;
+ $on_actions = str_replace('RESTRICT|', '', $on_actions);
$types = array();
$structured_types = array();
foreach (array( //! use sys.types
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
include "../adminer/drivers/mysql.inc.php"; // must be included as last driver
+$on_actions = "RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT"; ///< @var string used in foreign_keys()
$config = driver_config();
$possible_drivers = $config['possible_drivers'];
$jush = $config['jush'];
include "../adminer/include/auth.inc.php";
include "./include/editing.inc.php";
include "./include/connect.inc.php";
-
-$on_actions = "RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT"; ///< @var string used in foreign_keys()
SQLite: Display all rows of variable values
SQLite: Remove support for SQLite version 2
MS SQL: Support export (bug #480)
+MS SQL: Display foreign keys ON UPDATE and ON DELETE
MongoDB: Remove support for deprecated extension mongo
Adminer-4.17.1 (released 2025-02-25):