示例#1
0
 public function init()
 {
     self::$thisPath = realpath(dirname(__FILE__));
     $fks = null;
     $packages = PhpBURN_Configuration::getConfig();
     foreach ($packages as $package => $packageConfig) {
         $class = new PhpBURN_ReverseClass('null', $packageConfig->package);
         $tables = $class->getConnection()->getTables();
         foreach ($tables as $table) {
             $fieldData = $class->getConnection()->describe($table);
             foreach ($fieldData as $data) {
                 $field['name'] = $data[0];
                 $field['type'] = $data[2];
                 $field['lenght'] = $data[3];
                 $options['primary'] = $data[4];
                 $options['not_null'] = $data[5];
                 $options['default_value'] = $data[6];
                 $options['auto_increment'] = $data[7];
                 $field['options'] = $options;
                 $field['package'] = $packageConfig->package;
                 $field['tableName'] = $table;
                 self::$rawFields[$packageConfig->database . '.' . $table][] = $field;
                 self::$fields[$packageConfig->database . '.' . $table][] = self::generateField($data[0], $data[2], $data[3], $options);
                 unset($field);
             }
             //                self::$fields[$packageConfig->database . '.' . $table] = $fields;
             $fks = !is_array($fks) ? array() : $fks;
             $tableFks = $class->getConnection()->getForeignKeys($table);
             //IS NOT MODEL FK IS TABLE
             foreach ($tableFks as $index => $keyArr) {
                 self::$rawFks[$index][] = $keyArr;
                 self::$thisTableFks[$keyArr['referencedTable']][] = $keyArr;
             }
             //          post-reverse
             unset($fields, $tableFks, $fieldData);
         }
     }
     //
     //        print "<h1> ===== FINAL FIELDS ===== </h1>";
     //        print_r(self::$fields);
     //
     //        print "<h1> ===== RAW FKS ===== </h1>";
     //        print_r(self::$rawFks);
     foreach (self::$thisTableFks as $origin => $item) {
         foreach ($item as $index => $value) {
             self::$fks[$value['referencedTable']][] = self::generateRelationship($origin, $value);
         }
     }
     //
     //        print "<h1> ===== FINAL EXAMPLE ===== </h1>";
     //        print_r(self::$thisTableFks);
     //
     //        print "<h1> ===== FINAL FKS ===== </h1>";
     //        print_r(self::$fks);
     self::constructModelFiles();
 }
示例#2
0
<?php

################################
# Hooks
################################
define('SYS_USE_FIREPHP', false, true);
################################
# Including required files
################################
require_once 'app/phpBurn.php';
require_once 'config.php';
################################
# Start PhpBURN needed resources
################################
PhpBURN::enableAutoload();
PhpBURN_Message::setMode(PhpBURN_Message::CONSOLE);
//Migrations tool
PhpBURN::load('Migrations.Reverse');
################################
# Starting application
################################
PhpBURN_Reverse::init();