Loading src/Driver/Oracle/TableManager.php +27 −5 Original line number Diff line number Diff line Loading @@ -80,7 +80,6 @@ class TableManager extends AbstractManager implements TableManagerInterface $data = []; $q = "SELECT null \"schema\", t.table_name \"name\", t.temporary \"temporary\", t.logging \"logging\", Loading Loading @@ -129,10 +128,7 @@ class TableManager extends AbstractManager implements TableManagerInterface $default = $paq['default'] !== null ? $this->purger($paq['default']) : null; if ('NULL' === $default) $default = null; if (!empty($default) && str_starts_with($default, '"' . $paq['schema'] . '"')) { $default = substr($default, strlen($paq['schema']) + 3); } $default = $this->purgerDefaultDefinition($default); $type = $paq['type']; $precision = $paq['precision'] ? (int)$paq['precision'] : null; Loading Loading @@ -207,6 +203,32 @@ class TableManager extends AbstractManager implements TableManagerInterface public function purgerDefaultDefinition(?string $default): ?string { if (empty($default)) return null; if (str_ends_with($default, '"NEXTVAL"')){ // Traitement des initialisations par séquences $terms = explode('.', $default); foreach($terms as $index => $term){ if (!(str_starts_with($term, '"') && str_starts_with($term, '"'))){ return $default; // problème : on a affaire à un traitement plus complexe qu'il faudrait analyser } } if (count($terms) === 3){ unset($terms[0]); } return implode('.',$terms); } return $default; } protected function makeCreate(array $data): string { $sql = "CREATE "; Loading Loading
src/Driver/Oracle/TableManager.php +27 −5 Original line number Diff line number Diff line Loading @@ -80,7 +80,6 @@ class TableManager extends AbstractManager implements TableManagerInterface $data = []; $q = "SELECT null \"schema\", t.table_name \"name\", t.temporary \"temporary\", t.logging \"logging\", Loading Loading @@ -129,10 +128,7 @@ class TableManager extends AbstractManager implements TableManagerInterface $default = $paq['default'] !== null ? $this->purger($paq['default']) : null; if ('NULL' === $default) $default = null; if (!empty($default) && str_starts_with($default, '"' . $paq['schema'] . '"')) { $default = substr($default, strlen($paq['schema']) + 3); } $default = $this->purgerDefaultDefinition($default); $type = $paq['type']; $precision = $paq['precision'] ? (int)$paq['precision'] : null; Loading Loading @@ -207,6 +203,32 @@ class TableManager extends AbstractManager implements TableManagerInterface public function purgerDefaultDefinition(?string $default): ?string { if (empty($default)) return null; if (str_ends_with($default, '"NEXTVAL"')){ // Traitement des initialisations par séquences $terms = explode('.', $default); foreach($terms as $index => $term){ if (!(str_starts_with($term, '"') && str_starts_with($term, '"'))){ return $default; // problème : on a affaire à un traitement plus complexe qu'il faudrait analyser } } if (count($terms) === 3){ unset($terms[0]); } return implode('.',$terms); } return $default; } protected function makeCreate(array $data): string { $sql = "CREATE "; Loading