74 lines
2.2 KiB
PHP
74 lines
2.2 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
$pdo = new PDO(
|
|
'mysql:host=baroncs.co.kr;port=3306;dbname=baronhomep;charset=utf8mb4',
|
|
'baronhomep',
|
|
'baron3840!!',
|
|
[
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
PDO::ATTR_EMULATE_PREPARES => false,
|
|
PDO::ATTR_TIMEOUT => 5,
|
|
]
|
|
);
|
|
|
|
$dbName = 'baronhomep';
|
|
$table = 'edu_learning_histories';
|
|
|
|
$out = [];
|
|
$out[] = '== TRIGGERS ON edu_learning_histories ==';
|
|
$stmt = $pdo->prepare(
|
|
'SELECT TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, EVENT_OBJECT_TABLE, ACTION_STATEMENT
|
|
FROM information_schema.TRIGGERS
|
|
WHERE TRIGGER_SCHEMA = ?
|
|
AND EVENT_OBJECT_TABLE = ?
|
|
ORDER BY TRIGGER_NAME'
|
|
);
|
|
$stmt->execute([$dbName, $table]);
|
|
$triggers = $stmt->fetchAll();
|
|
if (!$triggers) {
|
|
$out[] = '(none)';
|
|
} else {
|
|
foreach ($triggers as $t) {
|
|
$out[] = sprintf('- %s | %s %s ON %s', $t['TRIGGER_NAME'], $t['ACTION_TIMING'], $t['EVENT_MANIPULATION'], $t['EVENT_OBJECT_TABLE']);
|
|
$out[] = ' ACTION: ' . preg_replace('/\s+/', ' ', (string)$t['ACTION_STATEMENT']);
|
|
}
|
|
}
|
|
|
|
$out[] = '';
|
|
$out[] = '== ROUTINES REFERENCING edu_learning_histories ==';
|
|
$stmt2 = $pdo->prepare(
|
|
'SELECT ROUTINE_TYPE, ROUTINE_NAME
|
|
FROM information_schema.ROUTINES
|
|
WHERE ROUTINE_SCHEMA = ?
|
|
AND ROUTINE_DEFINITION LIKE ?
|
|
ORDER BY ROUTINE_TYPE, ROUTINE_NAME'
|
|
);
|
|
$stmt2->execute([$dbName, '%edu_learning_histories%']);
|
|
$routines = $stmt2->fetchAll();
|
|
if (!$routines) {
|
|
$out[] = '(none)';
|
|
} else {
|
|
foreach ($routines as $r) {
|
|
$out[] = sprintf('- %s %s', $r['ROUTINE_TYPE'], $r['ROUTINE_NAME']);
|
|
}
|
|
}
|
|
|
|
$out[] = '';
|
|
$out[] = '== COLUMNS ==';
|
|
$stmt3 = $pdo->prepare(
|
|
'SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, EXTRA
|
|
FROM information_schema.COLUMNS
|
|
WHERE TABLE_SCHEMA = ?
|
|
AND TABLE_NAME = ?
|
|
ORDER BY ORDINAL_POSITION'
|
|
);
|
|
$stmt3->execute([$dbName, $table]);
|
|
$cols = $stmt3->fetchAll();
|
|
foreach ($cols as $c) {
|
|
$out[] = sprintf('- %s | %s | NULL=%s | KEY=%s | EXTRA=%s', $c['COLUMN_NAME'], $c['COLUMN_TYPE'], $c['IS_NULLABLE'], $c['COLUMN_KEY'], $c['EXTRA']);
|
|
}
|
|
|
|
echo implode(PHP_EOL, $out) . PHP_EOL;
|