diff --git a/src/Driver/Oracle/TableManager.php b/src/Driver/Oracle/TableManager.php
index e25d656e504a21e6b9920db082abb36fa24c358d..6e91b3414b0795030aa42ae0cda383cc8452c089 100644
--- a/src/Driver/Oracle/TableManager.php
+++ b/src/Driver/Oracle/TableManager.php
@@ -486,9 +486,18 @@ END;';
 
     private function isEmpty(string $table): bool
     {
-        $r = $this->bdd->select('SELECT * FROM ' . $table, [], ['fetch' => $this->bdd::FETCH_ONE]);
+        $r = $this->bdd->selectOne('SELECT * FROM ' . $table);
 
-        return false === $r;
+        return null === $r;
+    }
+
+
+
+    private function hasEmptyValue(string $table, string $column): bool
+    {
+        $r = $this->bdd->selectOne('SELECT '.$column.' FROM ' . $table.' WHERE '.$column.' IS NULL');
+
+        return null !== $r;
     }
 
 
@@ -503,8 +512,8 @@ END;';
         }
 
         if (!$column['nullable'] && !$noNotNull) {
-            if ($column['default'] === null && $this->isEmpty($table)) {
-                $this->bdd->logError("La colonne $table." . $column['name'] . " n\'a pas pu être déclarée NOT NULL, car des données sont déjà présentes dans la table et aucune valeur par défaut n'a été configurée");
+            if ($column['default'] === null && !$this->isEmpty($table)) {
+                $this->bdd->logMsg("La colonne $table." . $column['name'] . " ne sera pas déclarée NOT NULL, car des données sont déjà présentes dans la table et aucune valeur par défaut n'a été configurée");
             } else {
                 $cp[] = "NOT NULL ENABLE";
             }
@@ -551,8 +560,12 @@ END;';
         if ($this->isColDiffNullable($old, $new)) {
             if ($this->sendEvent()->getReturn('no-exec')) return;
 
-            $sql = "ALTER TABLE \"$table\" MODIFY (\"$column\" " . ($new['nullable'] ? '' : 'NOT ') . "NULL)";
-            $this->addQuery($sql, 'Changement d\'état de la colonne ' . $column . ' de la table ' . $table);
+            if ($this->hasEmptyValue($table, $column)){
+                $this->bdd->logMsg('La colonne '.$table.'.'.$column.' n\'a pas pu être déclarée NOT NULL');
+            }else{
+                $sql = "ALTER TABLE \"$table\" MODIFY (\"$column\" " . ($new['nullable'] ? '' : 'NOT ') . "NULL)";
+                $this->addQuery($sql, 'Changement d\'état de la colonne ' . $column . ' de la table ' . $table);
+            }
         }
     }
 
diff --git a/src/Driver/Postgresql/TableManager.php b/src/Driver/Postgresql/TableManager.php
index cb46eda5d632d5b22cf12d7bc92db8ba31e5cc2a..9dd94bd2e878997c133c5696c6d1b7df38efef9f 100644
--- a/src/Driver/Postgresql/TableManager.php
+++ b/src/Driver/Postgresql/TableManager.php
@@ -601,9 +601,18 @@ class TableManager extends AbstractManager implements TableManagerInterface
 
     private function isEmpty(string $table): bool
     {
-        $r = $this->bdd->select('SELECT * FROM ' . $table, [], ['fetch' => $this->bdd::FETCH_ONE]);
+        $r = $this->bdd->selectOne('SELECT * FROM ' . $table);
 
-        return false === $r;
+        return null === $r;
+    }
+
+
+
+    private function hasEmptyValue(string $table, string $column): bool
+    {
+        $r = $this->bdd->selectOne('SELECT '.$column.' FROM ' . $table.' WHERE '.$column.' IS NULL');
+
+        return null !== $r;
     }
 
 
@@ -618,8 +627,8 @@ class TableManager extends AbstractManager implements TableManagerInterface
         }
 
         if (!$column['nullable'] && !$noNotNull) {
-            if ($column['default'] === null && $this->isEmpty($table)) {
-                $this->bdd->logError("La colonne $table." . $column['name'] . " n\'a pas pu être déclarée NOT NULL, car des données sont déjà présentes dans la table et aucune valeur par défaut n'a été configurée");
+            if ($column['default'] === null && !$this->isEmpty($table)) {
+                $this->bdd->logMsg("La colonne $table." . $column['name'] . " ne sera pas déclarée NOT NULL, car des données sont déjà présentes dans la table et aucune valeur par défaut n'a été configurée");
             } else {
                 $cp[] = "NOT NULL ENABLE";
             }
@@ -666,8 +675,12 @@ class TableManager extends AbstractManager implements TableManagerInterface
         if ($this->isColDiffNullable($old, $new)) {
             if ($this->sendEvent()->getReturn('no-exec')) return;
 
-            $sql = "ALTER TABLE $table ALTER COLUMN $column " . ($new['nullable'] ? 'DROP' : 'SET') . " NOT NULL";
-            $this->addQuery($sql, 'Changement d\'état de la colonne ' . $column . ' de la table ' . $table);
+            if ($this->hasEmptyValue($table, $column)){
+                $this->bdd->logMsg('La colonne '.$table.'.'.$column.' n\'a pas pu être déclarée NOT NULL');
+            }else{
+                $sql = "ALTER TABLE $table ALTER COLUMN $column " . ($new['nullable'] ? 'DROP' : 'SET') . " NOT NULL";
+                $this->addQuery($sql, 'Changement d\'état de la colonne ' . $column . ' de la table ' . $table);
+            }
         }
     }