diff options
author | Maxence Lange <maxence@artificial-owl.com> | 2019-06-02 09:23:04 -0100 |
---|---|---|
committer | Maxence Lange <maxence@artificial-owl.com> | 2019-06-02 09:23:04 -0100 |
commit | 4f54b0cae5f0a2435b2b57ce515db48f66dcb9b8 (patch) | |
tree | d468290a7c531dade09bdf7a87024029ce6e7e20 | |
parent | 0b4e325838827ffbc62929a46f4be6c19c8e3836 (diff) |
avoid empty boolean value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
-rw-r--r-- | lib/Migration/Version0002Date20190506000001.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/Migration/Version0002Date20190506000001.php b/lib/Migration/Version0002Date20190506000001.php index bf32139f..e11fba08 100644 --- a/lib/Migration/Version0002Date20190506000001.php +++ b/lib/Migration/Version0002Date20190506000001.php @@ -1161,6 +1161,8 @@ class Version0002Date20190506000001 extends SimpleMigrationStep { * @param string $source * @param string $dest * @param array $fields + * + * @throws Exception */ private function duplicateTable( ISchemaWrapper $schema, string $source, string $dest, array $fields @@ -1200,6 +1202,13 @@ class Version0002Date20190506000001 extends SimpleMigrationStep { 'published_time' ]; + $booleanFields = [ + 'local', + 'public', + 'accepted', + 'hidden_on_timeline' + ]; + foreach ($fields as $field) { $value = $this->get($field, $data, ''); if ($field === 'id_prim' @@ -1207,19 +1216,23 @@ class Version0002Date20190506000001 extends SimpleMigrationStep { && $this->get('id', $data, '') !== '') { $value = hash('sha512', $this->get('id', $data, '')); } - + if (in_array($field, $datetimeFields) && $value === '') { $insert->setValue( $field, $insert->createNamedParameter(new DateTime('now'), IQueryBuilder::PARAM_DATE) ); + } else if (in_array($field, $booleanFields) && $value === '') { + $insert->setValue( + $field, $insert->createNamedParameter('0') + ); } else { $insert->setValue( $field, $insert->createNamedParameter($value) ); } } - + try { $insert->execute(); } catch (UniqueConstraintViolationException $e) { |