--------------------------------------------------------------------------------
-- Script de mise à jour vers la version v4.3.0 d'openCimetière
--
-- @package opencimetiere
-- @version SVN : $Id$
-------------------------------------------------------------------------------

--
-- BEGIN / [#10371] Mise en place de l'archivage de la généalogie
--

-- L'archivage de la généalogie est désormais possible
CREATE TABLE IF NOT EXISTS genealogie_archive (
  genealogie integer NOT NULL PRIMARY KEY,
  emplacement integer NOT NULL,
  autorisation_p1 integer NULL,
  defunt_p1 integer NULL,
  personne_1 integer NULL,
  personne_2 integer NULL,
  lien_parente integer NOT NULL,
  autorisation_p2 integer NULL,
  defunt_p2 integer NULL,
  commentaire text NULL
);

CREATE SEQUENCE IF NOT EXISTS genealogie_archive_seq
  START WITH 1
  INCREMENT BY 1
  NO MINVALUE
  NO MAXVALUE
  CACHE 1;
ALTER SEQUENCE genealogie_archive_seq OWNED BY genealogie_archive.genealogie;

--
-- END / [#10371] Mise en place de l'archivage de la généalogie
--

--
-- BEGIN - [#10279] - Mise en place de la procédure de reprise sur abandon
--

CREATE TABLE IF NOT EXISTS reprise_abandon (
  reprise_abandon integer NOT NULL PRIMARY KEY,
  emplacement integer NOT NULL,
  statut character varying NOT NULL,
  etat character varying NOT NULL,
  datecreation date NOT NULL,
  effectuee boolean NULL,
  dateconvocationvisite1 date NULL,
  dateconstatpv1 date NULL,
  heureconstatpv1 time NULL,
  descriptionpv1 character varying NULL,
  personnepresentepv1 character varying NULL,
  datenotificationpv1 date NULL,
  debutaffichage1pv1 date NULL,
  finaffichage1pv1 date NULL,
  debutaffichage2pv1 date NULL,
  finaffichage2pv1 date NULL,
  debutaffichage3pv1 date NULL,
  finaffichage3pv1 date NULL,
  dateconvocationvisite2 date NULL,
  dateconstatpv2 date NULL,
  heureconstatpv2 time NULL,
  descriptionpv2 character varying NULL,
  personnepresentepv2 character varying NULL,
  datenotificationpv2 date NULL,
  debutaffichagepv2 date NULL,
  finaffichagepv2 date NULL,
  arrete character varying(40) NULL
);

CREATE SEQUENCE IF NOT EXISTS reprise_abandon_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;
ALTER SEQUENCE reprise_abandon_seq OWNED BY reprise_abandon.reprise_abandon;

ALTER TABLE ONLY reprise_abandon
    DROP CONSTRAINT IF EXISTS reprise_abandon_fkey,
    ADD CONSTRAINT reprise_abandon_fkey FOREIGN KEY (emplacement) REFERENCES emplacement (emplacement);

ALTER TABLE ONLY courrier
    ADD COLUMN IF NOT EXISTS contexte character varying(255),
    ADD COLUMN IF NOT EXISTS reprise_abandon integer;

ALTER TABLE ONLY courrier_archive
    ADD COLUMN IF NOT EXISTS contexte character varying(255),
    ADD COLUMN IF NOT EXISTS reprise_abandon integer;

ALTER TABLE ONLY courrier
    DROP CONSTRAINT IF EXISTS courrier_reprise_abandon_fkey,
    ADD CONSTRAINT courrier_reprise_abandon_fkey FOREIGN KEY (reprise_abandon) REFERENCES reprise_abandon(reprise_abandon);
--
-- END - [#10279] - Mise en place de la procédure de reprise sur abandon
--

--
-- BEGIN / [#10279] - Archivage de la reprise sur abandon
--

-- L'archivage de la reprise sur abandon est désormais possible
CREATE TABLE IF NOT EXISTS reprise_abandon_archive (
  reprise_abandon integer NOT NULL PRIMARY KEY,
  emplacement integer NOT NULL,
  statut character varying NOT NULL,
  etat character varying NOT NULL,
  datecreation date NOT NULL,
  effectuee boolean NULL,
  dateconvocationvisite1 date NULL,
  dateconstatpv1 date NULL,
  heureconstatpv1 time NULL,
  descriptionpv1 character varying NULL,
  personnepresentepv1 character varying NULL,
  datenotificationpv1 date NULL,
  debutaffichage1pv1 date NULL,
  finaffichage1pv1 date NULL,
  debutaffichage2pv1 date NULL,
  finaffichage2pv1 date NULL,
  debutaffichage3pv1 date NULL,
  finaffichage3pv1 date NULL,
  dateconvocationvisite2 date NULL,
  dateconstatpv2 date NULL,
  heureconstatpv2 time NULL,
  descriptionpv2 character varying NULL,
  personnepresentepv2 character varying NULL,
  datenotificationpv2 date NULL,
  debutaffichagepv2 date NULL,
  finaffichagepv2 date NULL,
  arrete character varying(40) NULL
);

CREATE SEQUENCE IF NOT EXISTS reprise_abandon_archive_seq
  START WITH 1
  INCREMENT BY 1
  NO MINVALUE
  NO MAXVALUE
  CACHE 1;
ALTER SEQUENCE reprise_abandon_archive_seq OWNED BY reprise_abandon_archive.reprise_abandon;

--
-- END / [#10279] - Archivage de la reprise sur abandon
--
