Example #1
0
 public static function parse($name, $def)
 {
     if (Table::match('FOREIGN KEY \\((?<local>[^)]+)\\) REFERENCES (?<table>[^\\s]+) \\((?<foreign>[^)]+)\\) ON DELETE (?<delete>SET NULL|CASCADE|RESTRICT)', $def, $m)) {
         // foreign key (add fk clause)
         $localField = Table::trim($m['local']);
         $foreignTable = Table::trim($m['table']);
         $foreignField = Table::trim($m['foreign']);
         $foreignDelete = $m['delete'];
         return new self($localField, $foreignTable, $foreignField, $foreignDelete);
     }
     return NULL;
 }