Loading src/Bdd.php +24 −20 Original line number Diff line number Diff line Loading @@ -46,22 +46,6 @@ class Bdd const TYPE_BLOB = 'blob'; const TYPE_CLOB = 'clob'; private array $ddlTypes = [ Ddl::SEQUENCE, Ddl::TABLE, Ddl::PRIMARY_CONSTRAINT, Ddl::FUNCTION, Ddl::PROCEDURE, Ddl::PACKAGE, Ddl::VIEW, Ddl::MATERIALIZED_VIEW, Ddl::REF_CONSTRAINT, Ddl::UNIQUE_CONSTRAINT, Ddl::TRIGGER, Ddl::INDEX, Ddl::SCHEMA, ]; private array $changements = [ Ddl::SCHEMA . '.create' => 'Création des schémas', Ddl::SEQUENCE . '.rename' => 'Renommage des séquences', Loading Loading @@ -355,6 +339,24 @@ class Bdd /** * Retourne la liste des managers de la base de données */ public function managerList(): array { $managers = []; foreach (Ddl::types() as $type => $libelle) { $manager = $this->manager($type); if (!$manager instanceof VoidManager) { $managers[$type] = $libelle; } } return $managers; } public function hasOption(string $name): bool { return array_key_exists($name, $this->options); Loading Loading @@ -516,10 +518,12 @@ class Bdd $this->logBegin("Récupération de la DDL"); $filters = DdlFilters::normalize($filters); $ddl = new Ddl(); foreach ($this->ddlTypes as $type) { $managers = $this->managerList(); foreach ($managers as $type => $libelle) { if (!($filters->isExplicit() && $filters->get($type)->isEmpty())) { $this->logMsg('Traitement des objets de type ' . $type . ' ...', true); $ddl->set($type, $this->manager($type)->get($filters[$type])); $this->logMsg('Traitement des ' . $libelle . ' ...', true); $manager = $this->manager($type); $ddl->set($type, $manager->get($filters[$type])); } } $this->logEnd(); Loading Loading @@ -803,8 +807,8 @@ class Bdd $cc = count($this->changements); $c = 0; foreach ($this->changements as $changement => $label) { $manager = $this->manager($ddlName); [$ddlName, $action] = explode('.', $changement); $manager = $this->manager($ddlName); if (!$manager instanceof VoidManager) { $c++; $queries = $this->alterDdlObject($manager, $action, $src[$ddlName] ?: [], $dest[$ddlName] ?: []); Loading src/Ddl/Ddl.php +21 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,27 @@ class Ddl implements \Iterator, \ArrayAccess public static function types(): array { return [ self::SEQUENCE => 'séquences', self::TABLE => 'tables', self::PRIMARY_CONSTRAINT => 'contraintes de clés primaires', self::FUNCTION => 'fonctions', self::PROCEDURE => 'procédures', self::PACKAGE => 'packages', self::VIEW => 'vues', self::MATERIALIZED_VIEW => 'vues matérialisées', self::REF_CONSTRAINT => 'contraintes de clés étrangères', self::UNIQUE_CONSTRAINT => 'contraintes d\'unicité', self::TRIGGER => 'déclencheurs', self::INDEX => 'indexs', self::SCHEMA => 'schémas', ]; } /** * @param string $name * @param array $data Loading src/Driver/Oracle/MaterializedViewManager.php +2 −3 Original line number Diff line number Diff line Loading @@ -4,11 +4,10 @@ namespace Unicaen\BddAdmin\Driver\Oracle; use Unicaen\BddAdmin\Bdd; use Unicaen\BddAdmin\Manager\AbstractManager; use Unicaen\BddAdmin\Manager\CompilableInterface; use Unicaen\BddAdmin\Manager\MaterializedViewManagerInteface; use Unicaen\BddAdmin\Ddl\DdlFilter; class MaterializedViewManager extends AbstractManager implements MaterializedViewManagerInteface, CompilableInterface class MaterializedViewManager extends AbstractManager implements MaterializedViewManagerInteface { public function getList(): array { Loading Loading @@ -124,7 +123,7 @@ class MaterializedViewManager extends AbstractManager implements MaterializedVie /** * @param string|array $name */ public function refresh($name) public function refresh($name): void { if (is_array($name)) { $name = $name['name']; Loading src/Table.php +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ class Table $sTable = $this->getBdd()->table(); $this->ddl = $sTable->get($this->name)[$this->name]; } if (!$this->ddl){ throw new \Exception('La DDL de la table '.$this->name.' n\'a pas pu être calculée'); } return $this->ddl; } Loading Loading
src/Bdd.php +24 −20 Original line number Diff line number Diff line Loading @@ -46,22 +46,6 @@ class Bdd const TYPE_BLOB = 'blob'; const TYPE_CLOB = 'clob'; private array $ddlTypes = [ Ddl::SEQUENCE, Ddl::TABLE, Ddl::PRIMARY_CONSTRAINT, Ddl::FUNCTION, Ddl::PROCEDURE, Ddl::PACKAGE, Ddl::VIEW, Ddl::MATERIALIZED_VIEW, Ddl::REF_CONSTRAINT, Ddl::UNIQUE_CONSTRAINT, Ddl::TRIGGER, Ddl::INDEX, Ddl::SCHEMA, ]; private array $changements = [ Ddl::SCHEMA . '.create' => 'Création des schémas', Ddl::SEQUENCE . '.rename' => 'Renommage des séquences', Loading Loading @@ -355,6 +339,24 @@ class Bdd /** * Retourne la liste des managers de la base de données */ public function managerList(): array { $managers = []; foreach (Ddl::types() as $type => $libelle) { $manager = $this->manager($type); if (!$manager instanceof VoidManager) { $managers[$type] = $libelle; } } return $managers; } public function hasOption(string $name): bool { return array_key_exists($name, $this->options); Loading Loading @@ -516,10 +518,12 @@ class Bdd $this->logBegin("Récupération de la DDL"); $filters = DdlFilters::normalize($filters); $ddl = new Ddl(); foreach ($this->ddlTypes as $type) { $managers = $this->managerList(); foreach ($managers as $type => $libelle) { if (!($filters->isExplicit() && $filters->get($type)->isEmpty())) { $this->logMsg('Traitement des objets de type ' . $type . ' ...', true); $ddl->set($type, $this->manager($type)->get($filters[$type])); $this->logMsg('Traitement des ' . $libelle . ' ...', true); $manager = $this->manager($type); $ddl->set($type, $manager->get($filters[$type])); } } $this->logEnd(); Loading Loading @@ -803,8 +807,8 @@ class Bdd $cc = count($this->changements); $c = 0; foreach ($this->changements as $changement => $label) { $manager = $this->manager($ddlName); [$ddlName, $action] = explode('.', $changement); $manager = $this->manager($ddlName); if (!$manager instanceof VoidManager) { $c++; $queries = $this->alterDdlObject($manager, $action, $src[$ddlName] ?: [], $dest[$ddlName] ?: []); Loading
src/Ddl/Ddl.php +21 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,27 @@ class Ddl implements \Iterator, \ArrayAccess public static function types(): array { return [ self::SEQUENCE => 'séquences', self::TABLE => 'tables', self::PRIMARY_CONSTRAINT => 'contraintes de clés primaires', self::FUNCTION => 'fonctions', self::PROCEDURE => 'procédures', self::PACKAGE => 'packages', self::VIEW => 'vues', self::MATERIALIZED_VIEW => 'vues matérialisées', self::REF_CONSTRAINT => 'contraintes de clés étrangères', self::UNIQUE_CONSTRAINT => 'contraintes d\'unicité', self::TRIGGER => 'déclencheurs', self::INDEX => 'indexs', self::SCHEMA => 'schémas', ]; } /** * @param string $name * @param array $data Loading
src/Driver/Oracle/MaterializedViewManager.php +2 −3 Original line number Diff line number Diff line Loading @@ -4,11 +4,10 @@ namespace Unicaen\BddAdmin\Driver\Oracle; use Unicaen\BddAdmin\Bdd; use Unicaen\BddAdmin\Manager\AbstractManager; use Unicaen\BddAdmin\Manager\CompilableInterface; use Unicaen\BddAdmin\Manager\MaterializedViewManagerInteface; use Unicaen\BddAdmin\Ddl\DdlFilter; class MaterializedViewManager extends AbstractManager implements MaterializedViewManagerInteface, CompilableInterface class MaterializedViewManager extends AbstractManager implements MaterializedViewManagerInteface { public function getList(): array { Loading Loading @@ -124,7 +123,7 @@ class MaterializedViewManager extends AbstractManager implements MaterializedVie /** * @param string|array $name */ public function refresh($name) public function refresh($name): void { if (is_array($name)) { $name = $name['name']; Loading
src/Table.php +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ class Table $sTable = $this->getBdd()->table(); $this->ddl = $sTable->get($this->name)[$this->name]; } if (!$this->ddl){ throw new \Exception('La DDL de la table '.$this->name.' n\'a pas pu être calculée'); } return $this->ddl; } Loading