-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
35 lines (31 loc) · 1.05 KB
/
index.php
File metadata and controls
35 lines (31 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
* Created by PhpStorm.
* User: bruce
* Date: 16/7/14
* Time: 11:24
*/
include_once "mysqlAnalyse.php";
$src = file_get_contents("./oms4.sql");
$target = file_get_contents("./oms4-local.sql");
$analyse = array();
$ss = new mysqlAnalyse();
$ss->initTables($src);
$tt = new mysqlAnalyse();
$tt->initTables($target);
var_dump(analyseDiff($ss->getTables(),$tt->getTables()));
function analyseDiff($source, $target){
$newTables = array_diff_key($source, $target);
$deletedTables = array_diff_key($target, $source);
$result = array();
$result["newTables"] = $newTables;
$result["deletedTables"] = $deletedTables;
$result["modifiedTables"] = array();
$sourceTables = array_intersect_key($source,$target);
foreach ($sourceTables as $key=>$sourceTable) {
$newFields = array_diff_key($sourceTable["tableFields"], $target[$key]["tableFields"]);
$deletedFields = array_diff_key($target[$key]["tableFields"], $sourceTable["tableFields"]);
$result["modifiedTables"][$key] = array("newFields"=>$newFields,"deletedFields"=>$deletedFields);
}
return $result;
}