- generator => '',
- header_hash => '',
- database_name => '',
- database_name_changed => sub { scalar gmtime },
- database_description => '',
- database_description_changed => sub { scalar gmtime },
- default_username => '',
- default_username_changed => sub { scalar gmtime },
- maintenance_history_days => 0,
- color => '',
- master_key_changed => sub { scalar gmtime },
- master_key_change_rec => -1,
- master_key_change_force => -1,
- # memory_protection => sub { +{} },
- custom_icons => sub { +{} },
- recycle_bin_enabled => true,
- recycle_bin_uuid => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
- recycle_bin_changed => sub { scalar gmtime },
- entry_templates_group => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
- entry_templates_group_changed => sub { scalar gmtime },
- last_selected_group => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
- last_top_visible_group => "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",
- history_max_items => HISTORY_DEFAULT_MAX_ITEMS,
- history_max_size => HISTORY_DEFAULT_MAX_SIZE,
- settings_changed => sub { scalar gmtime },
- # binaries => sub { +{} },
- # custom_data => sub { +{} },
+ generator => ['', coerce => \&to_string],
+ header_hash => ['', coerce => \&to_string],
+ database_name => ['', coerce => \&to_string],
+ database_name_changed => [sub { gmtime }, coerce => \&to_time],
+ database_description => ['', coerce => \&to_string],
+ database_description_changed => [sub { gmtime }, coerce => \&to_time],
+ default_username => ['', coerce => \&to_string],
+ default_username_changed => [sub { gmtime }, coerce => \&to_time],
+ maintenance_history_days => [0, coerce => \&to_number],
+ color => ['', coerce => \&to_string],
+ master_key_changed => [sub { gmtime }, coerce => \&to_time],
+ master_key_change_rec => [-1, coerce => \&to_number],
+ master_key_change_force => [-1, coerce => \&to_number],
+ # memory_protection => {},
+ custom_icons => [{}],
+ recycle_bin_enabled => [true, coerce => \&to_bool],
+ recycle_bin_uuid => ["\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", coerce => \&to_uuid],
+ recycle_bin_changed => [sub { gmtime }, coerce => \&to_time],
+ entry_templates_group => ["\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", coerce => \&to_uuid],
+ entry_templates_group_changed => [sub { gmtime }, coerce => \&to_time],
+ last_selected_group => ["\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", coerce => \&to_uuid],
+ last_top_visible_group => ["\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", coerce => \&to_uuid],
+ history_max_items => [HISTORY_DEFAULT_MAX_ITEMS, coerce => \&to_number],
+ history_max_size => [HISTORY_DEFAULT_MAX_SIZE, coerce => \&to_number],
+ settings_changed => [sub { gmtime }, coerce => \&to_time],
+ # binaries => {},
+ # custom_data => {},