0) { $q .= ', PRIMARY KEY (' . implode(', ', $keys) . ')'; } if (count($foreigns) > 0) { $q .= ', CONSTRAINT ' . implode(', CONSTRAINT ', $foreigns); } $q .= ') ENGINE=InnoDB DEFAULT CHARSET=utf8;'; return $q; } $cnt = 0; $queries = []; foreach ($models as $model) { $class = '\\Incoviba\\common\\' . $model; $ref = new ReflectionClass($class); $table = $ref->getProperty('_table')->getValue(); $comments = explode(PHP_EOL, $ref->getDocComment()); $columns = []; $keys = []; $foreigns = []; foreach ($comments as $comment) { if (strpos($comment, '@property') === false) { continue; } $info = explode(' ', substr($comment, strpos($comment, '@property') + strlen('@property '))); $column = extractColumn($table, $info, $keys, $foreigns); $columns []= columnQuery($column); } $q = tableQuery($table, $columns, $keys, $foreigns); $queries []= $q; } try { \ORM::getDb()->beginTransaction(); foreach ($queries as $q) { \ORM::getDb()->query($q); } \ORM::getDb()->commit(); header('Location: next_step.php?step=create_user_base'); } catch (Exception $e) { \ORM::getDb()->rollBack(); throw $e; } ?>