<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE data SYSTEM "../../../lib/pkp/dtd/xmlData.dtd">

<!--
  * 3.0.0_preupdate.xml
  *
  * Copyright (c) 2014-2020 Simon Fraser University
  * Copyright (c) 2003-2020 John Willinsky
  * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
  *
  * Database updates XML file (run before schema is reconciled).
  *
  -->
<data>
	<!-- Bug #8744: Abstract series/section editor assignments -->
	<sql>
		<rename table="section_editors" column="journal_id" to="context_id" />
	</sql>
	<!-- Bug #8265: Rename plugin_settings.journal_id to context_id -->
	<sql>
		<rename table="plugin_settings" column="journal_id" to="context_id" />
	</sql>
	<!-- Bug #8148: Submission process into PKP lib -->
	<sql>
		<rename table="edit_decisions" column="article_id" to="submission_id" />
	</sql>
	<sql>
		<rename table="static_pages" column="journal_id" to="context_id" />
	</sql>

	<!-- Articles migration -->
	<sql>
		<query>CREATE TABLE articles_migration AS (SELECT journal_id, article_id, user_id, submission_file_id, revised_file_id, review_file_id, editor_file_id, language FROM articles)</query>
	</sql>

	<!-- Article files migration -->
	<sql>
		<query>CREATE TABLE article_files_migration AS (SELECT * FROM article_files)</query>
	</sql>

	<!-- Article HTML galley CSS file migration -->
	<sql>
		<query>CREATE TABLE article_galleys_migration AS (SELECT galley_id, file_id, style_file_id FROM article_galleys)</query>
	</sql>

	<!-- Bug #8235: Rename article* submission* -->
	<sql>
		<!-- article_files to submission_files -->
		<rename table="article_files" column="article_id" to="submission_id" />
		<rename table="article_files" to="submission_files" />
		<!-- article_comments to submission_comments -->
		<rename table="article_comments" column="article_id" to="submission_id" />
		<rename table="article_comments" to="submission_comments" />
		<!-- articles to submissions -->
		<rename table="articles" column="article_id" to="submission_id" />
		<rename table="articles" column="journal_id" to="context_id" />
		<rename table="articles" to="submissions" />
		<!-- article_galleys to submission_galleys -->
		<rename table="article_galleys" column="article_id" to="submission_id" />
		<rename table="article_galleys" to="submission_galleys" />

		<!--
			Necessary to allow longer supplementary files titles to be added as a label when
			they are converted to public galleys. This happens with previous upgrades from 2.4.x
			to other versions of OJS 3, but does not otherwise happen with the 2.4.x to 3.2.x upgrade.
		-->
		<query driver="mysql,mysqli">ALTER TABLE submission_galleys MODIFY COLUMN label VARCHAR(255)</query>
		<query driver="postgres,postgres64,postgres7,postgres8,postgres9">ALTER TABLE submission_galleys ALTER COLUMN label TYPE varchar(255)</query>

		<!-- article_search_objects to submission_search_objects -->
		<rename table="article_search_objects" column="article_id" to="submission_id" />
		<rename table="article_search_objects" to="submission_search_objects" />
		<!-- article_settings to submission_settings -->
		<rename table="article_settings" column="article_id" to="submission_id" />
		<rename table="article_settings" to="submission_settings" />
		<!-- published_articles to published_submissions -->
		<rename table="published_articles" column="article_id" to="submission_id" />
		<rename table="published_articles" column="published_article_id" to="published_submission_id" />
		<rename table="published_articles" to="published_submissions" />
		<!-- article_xml_galleys to submission_xml_galleys -->
		<rename table="article_xml_galleys" column="article_id" to="submission_id" />
		<rename table="article_xml_galleys" to="submission_xml_galleys" />

		<!-- various table renames -->
		<rename table="article_search_keyword_list" to="submission_search_keyword_list" />
		<rename table="article_search_object_keywords" to="submission_search_object_keywords" />
		<rename table="article_html_galley_images" to="submission_html_galley_images" />
	</sql>
	<!-- Clean up after OJS 2.4.x hard-coded controlled vocab / controlled vocab entry IDs (issue #1793) -->
	<sql>
		<query driver="postgres7">SELECT pg_catalog.setval(pg_get_serial_sequence('controlled_vocabs', 'controlled_vocab_id'), (SELECT MAX(controlled_vocab_id) FROM controlled_vocabs)+1)</query>
		<query driver="postgres7">SELECT pg_catalog.setval(pg_get_serial_sequence('controlled_vocab_entries', 'controlled_vocab_entry_id'), (SELECT MAX(controlled_vocab_entry_id) FROM controlled_vocab_entries)+1)</query>
	</sql>
</data>
