mirror of
https://github.com/vrana/adminer.git
synced 2025-08-08 07:36:44 +02:00
MS SQL: Display foreign keys ON UPDATE and ON DELETE
This commit is contained in:
@@ -571,10 +571,13 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table)
|
|||||||
|
|
||||||
function foreign_keys($table) {
|
function foreign_keys($table) {
|
||||||
$return = array();
|
$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) {
|
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 = &$return[$row["FK_NAME"]];
|
||||||
$foreign_key["db"] = $row["PKTABLE_QUALIFIER"];
|
$foreign_key["db"] = $row["PKTABLE_QUALIFIER"];
|
||||||
$foreign_key["table"] = $row["PKTABLE_NAME"];
|
$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["source"][] = $row["FKCOLUMN_NAME"];
|
||||||
$foreign_key["target"][] = $row["PKCOLUMN_NAME"];
|
$foreign_key["target"][] = $row["PKCOLUMN_NAME"];
|
||||||
}
|
}
|
||||||
@@ -724,6 +727,8 @@ WHERE sys1.xtype = 'TR' AND sys2.name = " . q($table)
|
|||||||
}
|
}
|
||||||
|
|
||||||
function driver_config() {
|
function driver_config() {
|
||||||
|
global $on_actions;
|
||||||
|
$on_actions = str_replace('RESTRICT|', '', $on_actions);
|
||||||
$types = array();
|
$types = array();
|
||||||
$structured_types = array();
|
$structured_types = array();
|
||||||
foreach (array( //! use sys.types
|
foreach (array( //! use sys.types
|
||||||
|
@@ -80,6 +80,7 @@ include "./include/adminer.inc.php";
|
|||||||
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
|
$adminer = (function_exists('adminer_object') ? adminer_object() : new Adminer);
|
||||||
include "../adminer/drivers/mysql.inc.php"; // must be included as last driver
|
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();
|
$config = driver_config();
|
||||||
$possible_drivers = $config['possible_drivers'];
|
$possible_drivers = $config['possible_drivers'];
|
||||||
$jush = $config['jush'];
|
$jush = $config['jush'];
|
||||||
@@ -108,5 +109,3 @@ include "../adminer/include/xxtea.inc.php";
|
|||||||
include "../adminer/include/auth.inc.php";
|
include "../adminer/include/auth.inc.php";
|
||||||
include "./include/editing.inc.php";
|
include "./include/editing.inc.php";
|
||||||
include "./include/connect.inc.php";
|
include "./include/connect.inc.php";
|
||||||
|
|
||||||
$on_actions = "RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT"; ///< @var string used in foreign_keys()
|
|
||||||
|
@@ -4,6 +4,7 @@ SQLite: Add command Check tables
|
|||||||
SQLite: Display all rows of variable values
|
SQLite: Display all rows of variable values
|
||||||
SQLite: Remove support for SQLite version 2
|
SQLite: Remove support for SQLite version 2
|
||||||
MS SQL: Support export (bug #480)
|
MS SQL: Support export (bug #480)
|
||||||
|
MS SQL: Display foreign keys ON UPDATE and ON DELETE
|
||||||
MongoDB: Remove support for deprecated extension mongo
|
MongoDB: Remove support for deprecated extension mongo
|
||||||
|
|
||||||
Adminer-4.17.1 (released 2025-02-25):
|
Adminer-4.17.1 (released 2025-02-25):
|
||||||
|
Reference in New Issue
Block a user