Я пытаюсь сделать DKAN сайт через drush, и я в настоящее время сталкиваюсь с некоторыми проблемами с сайта-установки. Я скачал drush, dkan и mysql, и сервер mysql в настоящее время работает с версией mysql Ver 14.14 Distrib 5.7.13, for osx10.11 (x86_64) using EditLine wrapper
,
Скажите пароль для MySQL root@localhost
является passw0rd
, Тогда я запускаю команду drush site-install dkan --db-url="mysql://root:passw0rd@localhost/dkandb"
из моего каталога dkan / webroot.
Начнется установка: «Запуск установки Drupal. Это займет некоторое время». Но через минуту или около того я получаю следующее исключение:
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
Наряду с трассировкой стека из 25 предметов:
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}
Любые идеи о том, что я могу сделать, чтобы удалить SQLSTATE[42000]
ошибка?
Какую версию DKAN вы используете? Похоже, что на модуле панели управления происходит сбой установки. Существует проблема для того же, что вы испытали: https://www.drupal.org/node/2659820
Вы можете попробовать напрямую применить обновление там.
К вашему сведению, если вы откроете билет на https://github.com/NuCivic/dkan/issues Вы получите более прямую поддержку от команды DKAN.
Похоже, DKAN необходимо обновить до последней версии Panelizer, чтобы получить исправление, которое относится к вашей ошибке https://github.com/NuCivic/dkan/blob/7.x-1.x/drupal-org.make#L110 что они должны со следующим выпуском
Вам нужно посмотреть, какую таблицу MySQL пытается создать, как показано здесь:
# 2 /Users/Nicholas/dkan/webroot/includes/database/schema.inc(664): DatabaseConnection-> query (‘CREATE TABLE {p …’)
Как только вы это сделаете, выполните поиск кода с этим именем таблицы, чтобы найти .устанавливать файл для модуля, который устанавливает недопустимую схему.
Скорее всего, необходимо будет добавить это к определению поля:
'not null' => TRUE,
Сначала проверьте очередь выпуска модуля, чтобы узнать, является ли это известной проблемой, или создайте свою собственную, а затем опубликуйте исправление.
В моем случае я столкнулся с Сделать Entity Path совместимым с MySQL 5.7. Проблема Panelizer, упомянутая в ответе от 25 июля, больше не является проблемой, поскольку она была исправлена и включена в дистрибутив.