/** * Creates tables for classes and relationship involved * in the query path tree if they don't exist. * @return boolean */ public function prepareDbs() { $status = true; // make sure tables for the classes involved in the query are created if ($classes = $this->am->getAllClasses()) { foreach ($classes as $class) { if (!$this->proot->prepareDb($class)) { $status = false; } } } // make sure all the child classes of the roots are created as well if ($classes = $this->getPrimaryClassMaps()) { foreach ($classes as $class) { if (!$this->proot->prepareDb($class->getName())) { $status = false; } } } // make sure relationship tables are created as well if ($tables = $this->am->getAllTables()) { foreach ($tables as $table) { if (!$this->proot->prepareDb('epObjectRelation', $table)) { $status = false; } } } return $status; }