そこで、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を実行できます。
エラーの外観から、vbo操作のように見えるか、アクションがfield_data_field_workflow_states
テーブルに空白の値を挿入しようとしています。
実際にコードを確認しないと、vboまたはアクションで何が起こっているかを判断するのが少し難しくなりますが、list_of_node_for_expire
またはaction::workflow_vbo_given_state_action
のいずれかを確認し、正しいデータを処理してから、データベース要求。