Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $allColumns = array(
- "primary" => array(),
- "secondary" => array()
- );
- $commonColumns = array(
- "primary" => array(),
- "secondary" => array()
- );
- $missingColumns = array(
- "primary" => array(),
- "secondary" => array()
- );
- $missingTableColumns = array(
- "primary" => array(),
- "secondary" => array()
- );
- $tableInfo = array(
- "primary" => array(),
- "secondary" => array()
- );
- $query = "SHOW TABLES LIKE '%_piece%';";
- $primary = "primary"; //or secondary?
- while($row = $stmnt->fetch(PDO::FETCH_ASSOC)){
- //echo get_called_class()."<pre>".print_r($row,1)."</pre>";
- $table = $row["Tables_in_name (%_piece%)"];
- if(stristr($table,"_secondary")){
- $primary = "secondary";
- }else{
- $primary = "primary";
- }
- $columns;
- $subquery = "DESCRIBE {$table};";
- $substmnt = $newDB->connection()->prepare($subquery,array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
- $substmnt->execute(array());
- $columns = array();
- while($subrow = $substmnt->fetch(PDO::FETCH_ASSOC)){
- $allColumns[$primary][$subrow["Field"]] = $subrow["Field"];
- $columns[] = $subrow["Field"];
- }
- $tableInfo[$primary][$table] = $columns;
- }
- foreach ($allColumns["primary"] as $col){
- $commonColumns["primary"][$col] = $col;
- }
- foreach ($allColumns["secondary"] as $col){
- $commonColumns["secondary"][$col] = $col;
- }
- foreach ($tableInfo["primary"] as $table => $columns){
- foreach ($commonColumns["primary"] as $col){
- if(!in_array($col,$columns)){
- unset($commonColumns["primary"][$col]);
- $missingColumns["primary"][] = $col;
- }
- }
- }
- foreach ($tableInfo["secondary"] as $table => $columns){
- foreach ($commonColumns["secondary"] as $col){
- if(!in_array($col,$columns)){
- unset($commonColumns["secondary"][$col]);
- $missingColumns["secondary"][] = $col;
- }
- }
- }
- foreach ($tableInfo["primary"] as $table => $columns){
- foreach ($missingColumns["primary"] as $missing){
- if(!in_array($missing,$columns)){
- if(!isset($missingTableColumns["primary"][$table])){
- $missingTableColumns["primary"][$table] = array($missing);
- }else{
- $missingTableColumns["primary"][$table][] = $missing;
- }
- }
- }
- }
- foreach ($tableInfo["secondary"] as $table => $columns){
- foreach ($missingColumns["secondary"] as $missing){
- if(!in_array($missing,$columns)){
- if(!isset($missingTableColumns["secondary"][$table])){
- $missingTableColumns["secondary"][$table] = array($missing);
- }else{
- $missingTableColumns["secondary"][$table][] = $missing;
- }
- }
- }
- }
- $x = array(
- "stats" => array(
- "primary_column_count" => count($allColumns["primary"]),
- "primary_common_column_count" => count($commonColumns["primary"]),
- "secondary_column_count" => count($allColumns["secondary"]),
- "secondary_common_column_count" => count($commonColumns["secondary"]),
- "missing_columns" => $missingColumns,
- "missing_table_columns" => $missingTableColumns,
- "all_columns"=>$allColumns
- ),
- "info" => $tableInfo
- );
- echo "<pre>".print_r($x,1)."</pre>";
- die("done");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement