zerof
February 4, 2024, 5:10am
1
Hi
After updating the PKP pn version, when I refer to the log, I have the following error:
Next Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘staging_state’ in ‘field list’
Due to server limitations, I have to get the package from GitHub, and it seems that a field has been added in the update
Please guide me to add staging_state field or give me the basic database structure
Also, before this file update, everything was working fine and the new number is not registered now
@jonasraoni
zerof
February 4, 2024, 6:17am
2
also my table schema:
CREATE TABLE `pln_deposits` (
`deposit_id` bigint(20) NOT NULL,
`journal_id` bigint(20) NOT NULL,
`uuid` varchar(36) DEFAULT NULL,
`status` bigint(20) DEFAULT 0,
`date_status` datetime DEFAULT NULL,
`date_created` datetime NOT NULL,
`date_modified` datetime DEFAULT NULL,
`export_deposit_error` varchar(1000) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Hi @zerof ,
Please access the main OJS directory and execute this command:
php lib/pkp/tools/installPluginVersion.php /plugins/generic/pln/version.xml
The plugin has some upgrade scripts, and this should execute them (this happens automatically when installing from the plugin gallery).
Let me know if it worked for you, if not, I’m interested to find what’s wrong
Best,
Jonas Raoni
zerof
February 4, 2024, 8:15am
4
thanks
I executed this command once through cPanel and cron job section because I use a shared service and do not have access to shell.
But no changes were made in the table structure
I noticed that three fields are missing, isn’t it better to create these 3 manually?
staging_state
lockss_state
date_preserved
I was curious to know what happened, as it might help other users with the same limitation
But if you don’t have time for that, that’s fine, you can run the following SQL:
ALTER TABLE pln_deposits
ADD COLUMN date_preserved DATETIME NULL,
ADD COLUMN staging_state VARCHAR(255) NULL,
ADD COLUMN lockss_state VARCHAR(255) NULL;
UPDATE pln_deposits SET status = NULL;
Best,
Jonas Raoni
zerof
February 4, 2024, 9:01am
6
Thanks, the table is updated, I hope the plugin works well too
This version should fix a lot of problems.
The query that you executed should also reset the status of the deposits, which will be retrieved from the server on the next synchronization (tomorrow).
Best,
Jonas Raoni