From a1a6f5f4fd14f0698c4feb1640e1ca11177d9c7e Mon Sep 17 00:00:00 2001 From: Hugo Sales Date: Sun, 26 Dec 2021 22:16:19 +0000 Subject: [PATCH] [TOOLS] Add warning to update code in bin/generate_entity_fields --- bin/generate_entity_fields | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/bin/generate_entity_fields b/bin/generate_entity_fields index adcc34fd82..4a5f52109b 100755 --- a/bin/generate_entity_fields +++ b/bin/generate_entity_fields @@ -27,6 +27,7 @@ $files = array_merge(glob(ROOT . '/src/Entity/*.php'), glob(ROOT . '/plugins/*/Entity/*.php'))); $classes = []; +$nullable_no_defaults_warning = []; foreach ($files as $file) { @@ -64,6 +65,9 @@ foreach ($files as $file) { } if (($nullable === '?' || \array_key_exists('default', $field_schema)) && $type != '\DateTimeInterface') { + if (!\array_key_exists('default', $field_schema)) { + $nullable_no_defaults_warning[] = "{$class}::{$field}"; + } $default = $field_schema['default'] ?? null; if (\is_string($default)) { $default = "'{$default}'"; @@ -107,3 +111,10 @@ foreach ($files as $file) { $out_file = preg_replace("%\\s*{$begin}.*{$end}%smu", $code, $in_file); file_put_contents($file, $out_file); } + +if (!empty($nullable_no_defaults_warning)) { + echo "Warning: The following don't have a default value, but we're assigning it `null`. Doctrine might not like this, so update it\n"; + foreach ($nullable_no_defaults_warning as $n) { + echo " {$n}\n"; + } +}