web-dev-qa-db-ja.com

Drushを使用してVBOを実行する方法

そこで、drushを使用してVBOを実行し、vbo-executeコマンドを利用してビューのワークフローの状態を変更します。これは、使用しているコマンドであることがわかったいくつかのリソースに基づいています。

drush vbo-execute list_of_node_for_expire  action::workflow_vbo_given_state_action argument:1

そして私はこのエラーに終わります:

field_sql_storage_field_storage_write()内(/modules/field/modules/field_sql_storage/field_sql_storage.moduleの514行目)。 PDOException:

SQLSTATE [23000]:整合性制約違反:1048列 'field_workflow_states_value'をnullにすることはできません:INSERT INTO {field_data_field_workflow_states}(entity_type、entity_id、revision_id、bundle、delta、language、field_workflow_states_value)

VALUES(:db_insert_placeholder_0、:db_insert_placeholder_1、:db_insert_placeholder_2、:db_insert_placeholder_3、:db_insert_placeholder_4、:db_insert_placeholder_5、:db_insert_placeholder_6);配列([:db_insert_placeholder_0] =>ノード[:db_insert_placeholder_1] => 34924 [:db_insert_placeholder_2] => 34924 [:db_insert_placeholder_3] =>リスト[:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => und [:db_insert_placeholder_6] )

なぜこのようなエラーが発生するのかわかりません。VBOと関係があるかどうかさえわかりませんが、Views UIを使用すると、エラーなしでVBOを実行できます。

2
Sohail

エラーの外観から、vbo操作のように見えるか、アクションがfield_data_field_workflow_statesテーブルに空白の値を挿入しようとしています。

実際にコードを確認しないと、vboまたはアクションで何が起こっているかを判断するのが少し難しくなりますが、list_of_node_for_expireまたはaction::workflow_vbo_given_state_actionのいずれかを確認し、正しいデータを処理してから、データベース要求。

1
Chad Payne