Drupal 7 met behulp van weergaven die pagina SQL-fout toevoegen

Ik heb een weergave in Drupal 7, waar ik probeer een nieuwe pagina toe te voegen. Ik krijg de volgende foutmelding:

PDOException: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'data' at row 1: INSERT INTO {ctools_object_cache} (sid, obj, name, data, updated) VALUES ...etc...

It seems the blob data type is too small for the data being stored....If I change ctools_object_cache->data column to LONGBLOB, it works. But is this the best way to fix this?

2
Nou, ik vraag alleen wat de oplossing is. Het lijkt erop dat dingen zoals mijn scenario redelijk vaak voorkomen in Drupal ... het breekt gewoon ...
toegevoegd de auteur Chris Muench, de bron
Je giet 5 gallons water in een beker van 5 oz, en wil je weten of het maken van de beker groter is niet de beste oplossing?
toegevoegd de auteur Marc B, de bron
@MarcB: Het is een redelijk redelijke vraag in de context van Drupal om eerlijk te zijn
toegevoegd de auteur Clive, de bron

1 antwoord

U kunt mogelijk problemen tegenkomen wanneer u de ctools-module bijwerkt, als u het veldschema rechtstreeks in de database wijzigt. Als ctools wijzigingen in die kolom aanbrengt, kan het uiteindelijk de oude grootte proberen te bereiken en kunt u uiteindelijk gegevens verliezen.

Naast het wijzigen van het databaseveld, is het een goed idee om ctools_schema() (in het .install bestand van de module) te patchen en de kolom in een LONGBLOB te veranderen daar. Wanneer een nieuwe versie van ctools verschijnt, kunt u upgraden zoals normaal en het installatiebestand opnieuw patchen als dat nodig is (houd er rekening mee dat dit probleem mogelijk is gerapporteerd in de uitgiftewacht van de module en mogelijk is een vergelijkbare oplossing toegepast in een update haak in de ctools-module, moet je het .install -bestand van de nieuwe versie bekijken voordat je het gaat bijwerken om zeker te zijn).

2
toegevoegd