When I use rules to change an new node from unpublished node to a published node and change the workflow state from "Creation" to "published" I get the following error and the content is not published or saved.
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '230-0-all' for key 'PRIMARY': INSERT INTO {node_access} (nid, realm, gid, grant_view, grant_update, grant_delete) 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_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11), (:db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17), (:db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23), (:db_insert_placeholder_24, :db_insert_placeholder_25, :db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29), (:db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35), (:db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41), (:db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45, :db_insert_placeholder_46, :db_insert_placeholder_47), (:db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51, :db_insert_placeholder_52, :db_insert_placeholder_53), (:db_insert_placeholder_54, :db_insert_placeholder_55, :db_insert_placeholder_56, :db_insert_placeholder_57, :db_insert_placeholder_58, :db_insert_placeholder_59), (:db_insert_placeholder_60, :db_insert_placeholder_61, :db_insert_placeholder_62, :db_insert_placeholder_63, :db_insert_placeholder_64, :db_insert_placeholder_65), (:db_insert_placeholder_66, :db_insert_placeholder_67, :db_insert_placeholder_68, :db_insert_placeholder_69, :db_insert_placeholder_70, :db_insert_placeholder_71); Array ( [:db_insert_placeholder_0] => 230 [:db_insert_placeholder_1] => all [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => 1 [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => 0 [:db_insert_placeholder_6] => 230 [:db_insert_placeholder_7] => workflow_access [:db_insert_placeholder_8] => 1 [:db_insert_placeholder_9] => 1 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => 230 [:db_insert_placeholder_13] => workflow_access [:db_insert_placeholder_14] => 2 [:db_insert_placeholder_15] => 1 [:db_insert_placeholder_16] => 0 [:db_insert_placeholder_17] => 0 [:db_insert_placeholder_18] => 230 [:db_insert_placeholder_19] => workflow_access [:db_insert_placeholder_20] => 8 [:db_insert_placeholder_21] => 1 [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 0 [:db_insert_placeholder_24] => 230 [:db_insert_placeholder_25] => workflow_access [:db_insert_placeholder_26] => 6 [:db_insert_placeholder_27] => 1 [:db_insert_placeholder_28] => 0 [:db_insert_placeholder_29] => 0 [:db_insert_placeholder_30] => 230 [:db_insert_placeholder_31] => workflow_access [:db_insert_placeholder_32] => 5 [:db_insert_placeholder_33] => 1 [:db_insert_placeholder_34] => 0 [:db_insert_placeholder_35] => 0 [:db_insert_placeholder_36] => 230 [:db_insert_placeholder_37] => workflow_access [:db_insert_placeholder_38] => 11 [:db_insert_placeholder_39] => 1 [:db_insert_placeholder_40] => 0 [:db_insert_placeholder_41] => 0 [:db_insert_placeholder_42] => 230 [:db_insert_placeholder_43] => workflow_access [:db_insert_placeholder_44] => 7 [:db_insert_placeholder_45] => 1 [:db_insert_placeholder_46] => 0 [:db_insert_placeholder_47] => 0 [:db_insert_placeholder_48] => 230 [:db_insert_placeholder_49] => workflow_access [:db_insert_placeholder_50] => 4 [:db_insert_placeholder_51] => 1 [:db_insert_placeholder_52] => 1 [:db_insert_placeholder_53] => 0 [:db_insert_placeholder_54] => 230 [:db_insert_placeholder_55] => workflow_access [:db_insert_placeholder_56] => 12 [:db_insert_placeholder_57] => 1 [:db_insert_placeholder_58] => 1 [:db_insert_placeholder_59] => 0 [:db_insert_placeholder_60] => 230 [:db_insert_placeholder_61] => workflow_access [:db_insert_placeholder_62] => 3 [:db_insert_placeholder_63] => 1 [:db_insert_placeholder_64] => 1 [:db_insert_placeholder_65] => 1 [:db_insert_placeholder_66] => 230 [:db_insert_placeholder_67] => workflow_access_owner [:db_insert_placeholder_68] => 1 [:db_insert_placeholder_69] => 1 [:db_insert_placeholder_70] => 0 [:db_insert_placeholder_71] => 0 ) in node_access_write_grants() (line 3425 of /home/hiddenvi/public_html/modules/node/node.module).
Here is the rule:
{ "rules_publish_unpublished_with_state_change" : {
"LABEL" : "Publish Unpublished with State Change",
"PLUGIN" : "reaction rule",
"TAGS" : [ "Publish Content" ],
"REQUIRES" : [ "rules", "workflow_rules" ],
"ON" : [ "node_update", "workflow_state_changed" ],
"IF" : [
{ "NOT node_is_published" : { "node" : [ "node" ] } },
{ "AND" : [
{ "NOT node_is_of_type" : {
"node" : [ "node" ],
"type" : { "value" : { "support_ticket" : "support_ticket" } }
}
},
{ "workflow_check_transition" : {
"node" : [ "node" ],
"old_state" : { "value" : { "ANY" : "ANY" } },
"new_state" : { "value" : { "6" : "6" } }
}
}
]
}
],
"DO" : [
{ "node_publish" : { "node" : [ "node" ] } },
{ "workflow_rules_set_state" : { "node" : [ "node" ], "workflow_state" : { "value" : { "4" : "4" } } } },
{ "drupal_message" : { "message" : "Content has been published and marked as done." } }
]
}
}
Comments
Comment #1
2phaI am getting a similar error except I am assigning the author of the node:
I have 2 rules running on content creation and am not sure which causes the error, though all works fine until I set a workflow on the content type.
The first rule creates a user when a certain content type is created by an anonymous user, taking the username from an email field in the node.
The second rule assigns the newly created node's author to the created user:
Comment #2
2phaChanged title to be more descriptive.
Comment #3
pgcadalid CreditAttribution: pgcadalid commentedI was getting a similar error on changing account:mail in "After saving a new user account" event. I have changed the event to "Before saving a user account", and the incidence has finished.
Comment #4
NancyDruMarking as duplicate of #1421518: PDOException: SQLSTATE[23000]: Duplicate entry in {node_access} table: when assigning a workflow to the node.