To recreate: Create a small import file, with minimal columns, tail the logs, import and note warnings IN DBIX/Class/Row: elsif ($self->_is_column_numeric($col)) { # do a numeric comparison if datatype allows it return $old == $new; But in Koha/Patrons/Import.pm We assume "" for all defaults Even if we pass defaults of '0' for these columns elsif ( $defaults->{$key} ) { won't be triggered by a 0 value, it should be 'exists'
What you suggest do not remove the warning. I linked this bug report with bug 21761 as we saw that already in another (but similar) context. I tried: modified: Koha/Object.pm ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── @ Object.pm:139 @ sub store { } else { # If cannot be null, get the default value # What if cannot be null and does not have a default value? Possible? + undef $self->{$col}; $self->$col($columns_info->{$col}->{default_value}); } } And get rid of of one of the 2 warnings. There is 2 warnings per attributes: on ->set_column (called from ->store, see previous diff), and a bit later, I guess in update_or_insert The attributes are the tinyint and not null: privacy_guarantor_fines, privacy_guarantor_checkouts and anonymized. We could fix that at controller level but I feel like it must be fixed at Koha::Object level.