2016-07-22 21 views
1

Ich versuche, eine DKAN Seite über drush zu machen, und ich laufe derzeit in einige Probleme mit der Site-Installation. Ich habe drush, dkan und mysql heruntergeladen, und der mysql-Server läuft derzeit mit der Version mysql Ver 14.14 Distrib 5.7.13, for osx10.11 (x86_64) using EditLine wrapper.Drush site-install dkan schlägt fehl - "Alle Teile eines PRIMARY KEY müssen NICHT NULL sein"

Sagen Sie das Mysql-Passwort für [email protected] ist passw0rd. Dann führe ich den Befehl drush site-install dkan --db-url="mysql://root:[email protected]/dkandb" aus meinem dkan/webroot-Verzeichnis aus.

Die Installation beginnt "Starten der Drupal-Installation. Dies dauert eine Weile." Aber nach einer Minute oder so, erhalte ich die folgende Ausnahme:

exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1171 All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead' in /Users/Nicholas/dkan/webroot/includes/database/database.inc:2204 

Zusammen mit einem 25 Artikel Stack-Trace:

Stack trace: 
#0 /Users/Nicholas/dkan/webroot/includes/database/database.inc(2204): PDOStatement->execute(Array) 
#1 /Users/Nicholas/dkan/webroot/includes/database/database.inc(683): DatabaseStatementBase->execute(Array, Array) 
#2 /Users/Nicholas/dkan/webroot/includes/database/schema.inc(664): DatabaseConnection->query('CREATE TABLE {p...') 
#3 /Users/Nicholas/dkan/webroot/includes/database/database.inc(2753): DatabaseSchema->createTable('panelizer_entit...', Array) 
#4 /Users/Nicholas/dkan/webroot/includes/common.inc(7092): db_create_table('panelizer_entit...', Array) 
#5 /Users/Nicholas/dkan/webroot/includes/module.inc(479): drupal_install_schema('panelizer') 
#6 /Users/Nicholas/dkan/webroot/includes/install.core.inc(1609): module_enable(Array, false) 
#7 [internal function]: _install_module_batch('panelizer', 'Panelizer', Array) 
#8 /Users/Nicholas/dkan/webroot/includes/batch.inc(284): call_user_func_array('_install_module...', Array) 
#9 /Users/Nicholas/dkan/webroot/includes/form.inc(4714): _batch_process() 
#10 /Users/Nicholas/dkan/webroot/includes/install.core.inc(444): batch_process('install.php?pro...', 'http://default/...') 
#11 /Users/Nicholas/dkan/webroot/includes/install.core.inc(339): install_run_task(Array, Array) 
#12 /Users/Nicholas/dkan/webroot/includes/install.core.inc(77): install_run_tasks(Array) 
#13 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/drush.inc(725): install_drupal(Array) 
#14 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/drush.inc(711): drush_call_user_func_array('install_drupal', Array) 
#15 /usr/local/Cellar/drush/HEAD-c967802/libexec/commands/core/drupal/site_install_7.inc(82): drush_op('install_drupal', Array) 
#16 /usr/local/Cellar/drush/HEAD-c967802/libexec/commands/core/site_install.drush.inc(245): drush_core_site_install_version('dkan', Array) 
#17 [internal function]: drush_core_site_install('dkan') 
#18 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/command.inc(366): call_user_func_array('drush_core_site...', Array) 
#19 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/command.inc(217): _drush_invoke_hooks(Array, Array) 
#20 [internal function]: drush_command('dkan') 
#21 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/command.inc(185): call_user_func_array('drush_command', Array) 
#22 /usr/local/Cellar/drush/HEAD-c967802/libexec/lib/Drush/Boot/BaseBoot.php(73): drush_dispatch(Array) 
#23 /usr/local/Cellar/drush/HEAD-c967802/libexec/includes/preflight.inc(88): Drush\Boot\BaseBoot->bootstrap_and_dispatch() 
#24 /usr/local/Cellar/drush/HEAD-c967802/libexec/drush.php(12): drush_main() 
#25 {main} 

Irgendwelche Ideen, was ich tun kann, die SQLSTATE[42000] Fehler entfernen?

+0

tun, wie der Fehler sagt? Sie haben nicht gezeigt, wie Ihre 'create'-Anweisung aussieht, daher ist der Stack-Dump im Wesentlichen nutzlos. –

+0

Welche Version von PHP verwenden Sie? Ich habe sehr alte PHP-Bugs gesehen, die das verursachen könnten. Haben Sie auch einen Nicht-Drush-Installationsprozess versucht? Wenn Sie viele dieser Installationen durchführen, ist Drush ein vernünftiges Werkzeug, aber ich würde es als Variable eliminieren, wenn Sie versuchen, ungerade Probleme zu verfolgen. – acrosman

Antwort

0

Welche Version von DKAN verwenden Sie? Es sieht so aus, als ob die Installation auf dem Panelizer-Modul fehlschlägt. Es gibt ein Problem für das gleiche, was Sie bereits erlebt haben: https://www.drupal.org/node/2659820

Sie könnten versuchen, das Update direkt dort anzuwenden.

FYI wenn Sie ein Ticket auf https://github.com/NuCivic/dkan/issues öffnen, erhalten Sie direktere Unterstützung vom DKAN-Team.

Es sieht aus wie DKAN auf die neueste Version von panelizer aktualisieren muss das Update zu erhalten, die https://github.com/NuCivic/dkan/blob/7.x-1.x/drupal-org.make#L110 auf Ihre Fehler gilt, die sie mit dem nächsten Release sollte

0

Sie müssen sich an dem suchen Tabelle MySQL zu erstellen versucht wie hier gezeigt:

# 2 /Users/Nicholas/dkan/webroot/includes/database/schema.inc(664): DatabaseConnection-> query ('CREATE TABLE {p ...')

Sobald Sie das haben, suchen Sie t Durch den Code mit diesem Tabellenname finden Sie die Datei .install für das Modul, das ein ungültiges Schema erstellt.

Höchstwahrscheinlich wird es notwendig sein, dies auf die Felddefinition hinzuzufügen: 'not null' => TRUE,

der Ausgabewarteschlange des Moduls Überprüfen Sie zuerst, ob es sich um ein bekanntes Problem ist, oder erstellen Sie Ihre eigenen, und dann schreiben Sie einen Patch .

In meinem Fall lief ich in Make Entity Path Compatible with MySQL 5.7. Das Panelizer-Problem erwähnt die Antwort vom 25. Juli ist kein Problem mehr, da es behoben und in die Distribution aufgenommen wurde.