Adding a base field definition in an update hook - it's not appearing
The problem lies in your display options configuration (reference 4k4's answer to #244122).

Try this:

function opencase_entities_update_8002() {
  $storage_definition =  \Drupal\Core\Field\BaseFieldDefinition::create('datetime')
      -&gt;setLabel(t('Date and time'))
      -&gt;setDescription(t('When the activity started.'))
      -&gt;setRevisionable(TRUE)
      -&gt;setSettings([
        'datetime_type' =&gt; 'date'
      ])
      -&gt;setDefaultValue('2000-01-01')
      -&gt;setDisplayOptions('view', [
        'label' =&gt; 'above',
        'type' =&gt; 'datetime_default',
        'settings' =&gt; [
          'format_type' =&gt; 'medium',
        ],
        'weight' =&gt; -3,
      ])
      -&gt;setDisplayOptions('form', [
        'type' =&gt; 'datetime_default',
        'weight' =&gt; -3,
      ]);

  \Drupal::entityDefinitionUpdateManager()
    -&gt;installFieldStorageDefinition('activity_date_time', 'oc_activity', 'oc_activity', $storage_definition);
}


Edit: Don't forget to update your Entity definition as well!