Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Tipps & Tricks ›

Feldeinstellunge nachträglich ändern

Eingetragen von olivers67 (26)
am 01.07.2013 - 15:39 Uhr in
  • Tipps & Tricks
  • Drupal 7.x

Hallo,

hatte das Problem ein Textfeld von zwei auf drei Zeichen aufzubohren, wusste aber nicht wie:

zwei Tabellen am besten mit phpmyadmin filed_data_field_ und field_data_revision_ , bei mir was ein varchar(2) auf varchar(3) zu ändern. ABER vorsichtig genau überlegen was die Änderung für deinen Datenbestand bedeutet!!!

dann das Blob-Feld "Data" in field_config bearbeiten.

bei phpmyadmin muss man bei der select Abfrage noch ein bischen an den Optionen etwas einstellen um auch einen lesbaren Text zu erhalten.

Vollständige Texte
Relationaler Schlüssel
Binäre Inhalte anzeigen
BLOB Inhalte anzeigen
Binäre Inhalte in hexadezimal anzeigen
Darstellungsumwandlung ausblenden
Geometrie

Mit diesen Optionen hat es bei mir Funktioniert

Original :
http://drupal.stackexchange.com/questions/8829/how-to-change-the-length-...

Hier die Anleitung mit Google-Übersetzer:
Dylan Tack Lösung ist die einfachste, aber ich persönlich genießen die Erkundung der inneren Bezirke von Drupal Datenbank zu sehen, wie die Dinge sich dort verwaltet.

Also, vorausgesetzt, Sie haben ein Textfeld die Maschine Name ist field_text von 10 Zeichen, die Sie auf 25 wachsen:

Daten werden in zwei Tabellen gespeichert werden: field_data_field_text und field_revision_field_text
Definition wird in field_config für die Speicherung von Daten gespeichert und field_config_instance für jede Instanz dieses Feldes (Sachen wie Label).

Lassen Sie uns nun ein wenig Herzchirurgie.

Ändern Sie die Datentabellen Spalten Definitionen:

ALTER TABLE `field_data_field_text` CHANGE `field_text_value` `field_text_value` VARCHAR( 25 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; ALTER TABLE `field_revision_field_text` CHANGE `field_text_value` `field_text_value` VARCHAR( 25 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

Ändern Sie die Definition Spalte, ist dies eine sehr heikle, weil es in einem BLOB gespeichert ist, aber das ist nicht etwas, das Sie tun dies zu stoppen.
Präparieren Sie den Mut, dieses BLOB Sache:

SELECT CAST(`data` AS CHAR(10000) CHARACTER SET utf8) FROM `field_config` WHERE field_name = 'field_text';

Dadurch erhalten Sie so etwas wie:

a:7:{s:12:"translatable";s:1:"1";s:12:"entity_types";a:0:{}s:8:"settings";a:2: {s:10:"max_length";s:2:"10";s:17:"field_permissions";a:5: //a lot more stuff...

Dies ist ein PHP serialisierten Array, der interessante Teil ist s:10:"max_length";s:2:"10"; , meine das dieses Array hat eine Eigenschaft namens max_length (dessen Name ist ein 10 Zeichen String - daher das "s "), welcher Wert ist 10 (das ist ein 2 Zeichen langen String). Es ist ziemlich einfach, nicht wahr?

Ändern seines Wertes ist so einfach wie das Ersetzen des s:2:"10" Teil von s:2:"25" . Seien Sie vorsichtig: wenn Ihre neue Wert ist länger, müssen Sie die "s" Teil anzupassen, beispielsweise indem 100 wird sein s:3:"100" als 100 beträgt 3.

Lasst uns diesen neuen Wert zurück in die DB, vergessen Sie nicht, den ganzen String zu halten.

UPDATE `field_config` SET data = 'a:7:{...a:2:{s:10:"max_length";s:2:"25";...}' WHERE `field_name` = 'field_text'

Spülen Sie Ihren Caches.

??

GEWINN!

By the way, hat PhpMyAdmin einige Einstellungen zu ermöglichen direkte Änderung von BLOB-Spalten , aber warum gehen den einfachen Weg?

PS: Dies kann auch Ihr Leben retten, wenn setzen einige PHP-Code in Ansichten und bekommen eine WSOD aufgrund eines Fehlers im Code.

‹ [HOWTO] Das Order total Übersetzungsproblem in Drupal commerce [gelöst] Wie erstelle ich eine Datenbank in welche Benutzer Daten eintragen können ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • D 7.78 und eine sqlite Datenbank statt mySQL
  • Versenden von Anfragen per Webform
  • eMail-Adresse überprüfen ob diese auch tatsächlich existiert
  • [gelöst]Welche Tokens werden bei Images im Feld Dateiverzeichnis erlaubt
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung nach Update auf PHP 7.4 - array offset on value of type null in geocoder_widget...
  • BEF Exposed Filter collapse funktioniert nicht mit Bootstrap Theme
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
Weiter

Neue Kommentare

  • bei den meisten Hostern
    vor 5 Stunden 22 Minuten
  • wirklich sicherstellen kann man es nur,
    vor 5 Stunden 26 Minuten
  • Moin Moin vielen lieben Dank
    vor 11 Stunden 4 Minuten
  • Auch,wenn es noch über
    vor 15 Stunden 48 Minuten
  • Das steht über dem Bereich,
    vor 15 Stunden 50 Minuten
  • Hallo Jenna, ich habe das
    vor 1 Tag 12 Stunden
  • Ich hatte gehofft, bis auf
    vor 1 Tag 12 Stunden
  • Wenn der Provider keine freie
    vor 1 Tag 12 Stunden
  • Problemeingrenzung
    vor 1 Tag 14 Stunden
  • Ich habe es bei einigen
    vor 2 Tagen 15 Stunden

Statistik

Beiträge im Forum: 245991
Registrierte User: 18832

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9012
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3831
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 3 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association