2016-07-22 22 views
1

我試圖通過drush製作DKAN網站,目前我正在運行網站安裝的一些問題。我已經下載了drush,dkan和mysql,並且mysql服務器當前正在運行版本mysql Ver 14.14 Distrib 5.7.13, for osx10.11 (x86_64) using EditLine wrapperDrush site-install dkan failed - 「PRIMARY KEY的所有部分都必須爲NULL」

說出[email protected]的mysql密碼是passw0rd。然後我從我的dkan/webroot目錄中運行命令drush site-install dkan --db-url="mysql://root:[email protected]/dkandb"

安裝開始,「啓動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]錯誤任何想法?

+0

做錯誤說?你沒有顯示你的'create'語句是什麼樣的,因此堆棧轉儲本質上是無用的。 –

+0

您運行的是哪個版本的PHP?我見過很多可能會導致此問題的PHP錯誤。另外,你是否嘗試過一種非淹沒安裝過程?如果你打算做很多這些安裝Drush是一個合理的工具,但是當試圖追蹤奇怪的問題時,我會將它作爲一個變量消除。 – acrosman

回答

0

您使用的是什麼版本的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修復它們應與下一個版本

0

你需要看看這臺MySQL正在試圖創建如下所示:

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

一旦你有了,搜索t通過具有該表名的代碼找到設置無效模式的模塊的.install文件。

最有可能的,這將是必要把它添加到字段定義: 'not null' => TRUE,

首先檢查該模塊的問題隊列,看它是否是一個已知的問題,或者創建自己的,然後發佈一個補丁。

就我而言,我遇到Make Entity Path Compatible with MySQL 5.7。 Panelizer的問題提到7月25日的答案不再是一個問題,因爲它已經被修復並被包含在發行版中。

相關問題