Is TinyInt not supported by SQLite

Created on 16 June 2023, about 1 year ago
Updated 22 December 2023, 6 months ago

Problem/Motivation

I've been experimenting with using SQLite and it normally works. But I just installed DisplaySuite and I started getting this error. Is it possible that it's using an SQL mode that isn't supported by SQLite?

The website encountered an unexpected error. Please try again later.

Exception: Unable to parse the column type TINYINT in Drupal\sqlite\Driver\Database\sqlite\Schema->introspectSchema() (line 534 of core/modules/sqlite/src/Driver/Database/sqlite/Schema.php).
Drupal\sqlite\Driver\Database\sqlite\Schema->fieldExists() (Line: 1610)
Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema->createSharedTableSchema() (Line: 1538)
Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema->performFieldSchemaOperation() (Line: 695)
Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema->onFieldStorageDefinitionCreate() (Line: 1534)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->Drupal\Core\Entity\Sql\{closure}() (Line: 1590)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->wrapSchemaException() (Line: 1537)
Drupal\Core\Entity\Sql\SqlContentEntityStorage->onFieldStorageDefinitionCreate() (Line: 85)
Drupal\Core\Field\FieldStorageDefinitionListener->onFieldStorageDefinitionCreate() (Line: 216)
Drupal\Core\Entity\EntityDefinitionUpdateManager->installFieldStorageDefinition() (Line: 302)
Drupal\Core\Extension\ModuleInstaller->install() (Line: 83)
Drupal\Core\ProxyClass\Extension\ModuleInstaller->install() (Line: 502)
Drupal\system\Form\ModulesListForm->submitForm()
call_user_func_array() (Line: 114)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers() (Line: 52)
Drupal\Core\Form\FormSubmitter->doSubmitForm() (Line: 597)
Drupal\Core\Form\FormBuilder->processForm() (Line: 325)
Drupal\Core\Form\FormBuilder->buildForm() (Line: 73)
Drupal\Core\Controller\FormController->getContentResult()
call_user_func_array() (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 580)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 74)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 58)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 686)
Drupal\Core\DrupalKernel->handle() (Line: 19)

πŸ› Bug report
Status

Closed: cannot reproduce

Version

3.15

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States bogdog400

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @bogdog400
  • πŸ‡ΊπŸ‡ΈUnited States bogdog400

    I continue to have minor problems with a TINYINT field while running the module with a site built on SQLite. The latest is that I can't clear an error about the "DS Switch Field needs to be installed."

    Here's the error message:

    
    prompt> vendor/drush/drush/drush entup
    The following updates are pending:
    
    node entity type : 
    The DS switch field needs to be installed.
    
     Do you wish to run all pending updates? (yes/no) [yes]:
     > 
    
    
    In Schema.php line 534:
                                               
      Unable to parse the column type TINYINT  
                                               
    

    Any ideas about what I should change? Is there a place where I can do this upgrade manually? When I grep the DS module, I don't find the TINYINT word anywhere.

    TIA.

  • Status changed to Closed: cannot reproduce 6 months ago
  • πŸ‡§πŸ‡ͺBelgium swentel

    Hard to see honestly, I don't use sqlite at all, except for testing. But it seems that tinyint is not supported by SQLIte. DS switch module installs a column which is a string, so I have absolutely no idea where this comes from either and there's no other column that is installed by DS, so the problem must be from something else.

Production build 0.69.0 2024