#
# Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0 which is available at
# http://www.eclipse.org/legal/epl-2.0,
# or the Eclipse Distribution License v. 1.0 which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
#


ALTER TABLE JPA21_XML_FORK_COSTS DROP FOREIGN KEY FK_JPA21_XML_FORK_COSTS_ID
ALTER TABLE JPA21_XML_DDL_ORGANIZER DROP FOREIGN KEY FK_JPA21_XMLOrganizer_Race
ALTER TABLE JPA21_XML_DDL_SHOE DROP FOREIGN KEY FK_JPA21_XMLRunner_ShoeTag
ALTER TABLE JPA21_XML_DDL_SHOE DROP FOREIGN KEY FK_JPA21_XMLShoes_Runner
ALTER TABLE JPA21_XML_DDL_SPRINTER DROP FOREIGN KEY FK_JPA21_XML_Sprinter
ALTER TABLE JPA21_XML_FORK_USES DROP FOREIGN KEY FK_JPA21_XML_FORK_USES_XMLFork_ID
ALTER TABLE JPA21_XML_FORK_FORK_USERS DROP FOREIGN KEY FK_JPA21_XML_FORK_FORK_USERS_FORK_ID
ALTER TABLE JPA21_XML_FORK_FORK_USERS DROP FOREIGN KEY FK_JPA21_XML_FORK_FORK_USERS_FORK_USER_ID
ALTER TABLE JPA21_XML_DDL_RUNNERS_RACES DROP FOREIGN KEY FK_JPA21_XMLRunners_Races_Inverse
ALTER TABLE JPA21_XML_DDL_RUNNERS_RACES DROP FOREIGN KEY FK_JPA21_XMLRunners_Races
ALTER TABLE JPA21_XML_DDL_RUNNER_ACS DROP FOREIGN KEY FK_JPA21_XMLAccomplishments
ALTER TABLE JPA21_XML_DDL_ENDORSEMENTS DROP FOREIGN KEY FK_JPA21_XMLEndorsements_Key
ALTER TABLE JPA21_XML_DDL_ENDORSEMENTS DROP FOREIGN KEY FK_JPA21_XMLEndorsements
ALTER TABLE JPA21_XML_DDL_RUNNER_PBS DROP FOREIGN KEY FK_JPA21_XML_Runner_PBS
DROP INDEX INDEX_JPA21_XML_FORK_STYLE_COLOR ON JPA21_XML_FORK
DROP TABLE JPA21_XML_FORK
DROP INDEX INDEX_JPA21_XML_FORK_COSTS ON JPA21_XML_FORK_COSTS
DROP TABLE JPA21_XML_FORK_COSTS
DROP TABLE JPA21_XML_DDL_ORGANIZER
DROP TABLE JPA21_XML_DDL_ENDORSER
DROP TABLE JPA21_XML_DDL_RACE
DROP TABLE JPA21_XML_DDL_RUNNER
DROP TABLE JPA21_XML_DDL_SHOE_TAG
DROP TABLE JPA21_XML_FORK_USER
DROP TABLE JPA21_XML_DDL_SHOE
DROP TABLE JPA21_XML_DDL_SPRINTER
DROP INDEX JPA21_XML_FORK_USES_INDEX ON JPA21_XML_FORK_USES
DROP TABLE JPA21_XML_FORK_USES
DROP INDEX JPA21_XML_FORK_USERS_INDEX ON JPA21_XML_FORK_FORK_USERS
DROP TABLE JPA21_XML_FORK_FORK_USERS
DROP TABLE JPA21_XML_DDL_RUNNERS_RACES
DROP TABLE JPA21_XML_DDL_RUNNER_ACS
DROP TABLE JPA21_XML_DDL_ENDORSEMENTS
DROP TABLE JPA21_XML_DDL_RUNNER_PBS
DROP INDEX INDEX_JPA21_XML_TABLE_GENERATOR ON JPA21_XML_PK_SEQ
DELETE FROM JPA21_XML_PK_SEQ WHERE XML_SEQ_NAME = 'XML_UTENSIL_SEQ'
DELETE FROM SEQUENCE WHERE SEQ_NAME = 'SEQ_GEN'
