Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

/*========tur======================================================*/
/* DBMS name:      PostgreSQL 8                                 */
/* Criado em:     18/12/2014                                        */
/* Autor: Bruno Lopes Peixoto                                       */
/*==============================================================*/

SET search_path = sc_sec;

ALTER TABLE sec_usuario ADD COLUMN ind_financeiro BOOL;
UPDATE sec_usuario SET ind_financeiro=TRUE;
ALTER TABLE sec_usuario ALTER COLUMN ind_financeiro SET NOT NULL;

ALTER TABLE sec_forma_pagamento RENAME seq_formapagament TO cod_formapagament;
ALTER TABLE sec_venda_formapagament RENAME seq_formapagament TO cod_formapagament;

ALTER TABLE sec_forma_pagamento ALTER COLUMN cod_formapagament SET DEFAULT NULL;

DROP SEQUENCE sq_formapagament;

/* NOVOS */

CREATE SEQUENCE sq_contaapagar
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_contaapagar owner TO sc_sec;

CREATE SEQUENCE sq_contaareceber
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_contaareceber owner TO sc_sec;

CREATE SEQUENCE sq_histconta
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_histconta owner TO sc_sec;

CREATE SEQUENCE sq_parcela
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_parcela owner TO sc_sec;

CREATE SEQUENCE sq_responsavel
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_responsavel owner TO sc_sec;

/*==============================================================*/
/* Table: sec_conta_a_pagar                                     */
/*==============================================================*/
CREATE TABLE sec_conta_a_pagar (
   seq_conta_a_pagar    INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_contaapagar'::regclass),
   seq_responsavel      INT8                 NULL,
   dsc_observacao       VARCHAR(120)         NULL,
   tip_frequencia       CHAR(1)              NOT NULL
      CONSTRAINT ck_contaapagar_frequencia CHECK (tip_frequencia IN ('U','D','S','M','A')),
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_contaapagar PRIMARY KEY (seq_conta_a_pagar)
);

comment ON COLUMN sec_conta_a_pagar.tip_frequencia IS
'Valores possíveis:
U - Única Vez
D - Diariamente
S - Semanal
M - Mensal
A - Anual'
;

-- set table ownership
ALTER TABLE sec_conta_a_pagar owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_contaapagar_responsavel                            */
/*==============================================================*/
CREATE  INDEX ix_contaapagar_responsavel ON sec_conta_a_pagar (
seq_responsavel
);

/*==============================================================*/
/* Table: sec_conta_a_receber                                   */
/*==============================================================*/
CREATE TABLE sec_conta_a_receber (
   seq_conta_a_receber  INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_contaareceber'::regclass),
   seq_responsavel      INT8                 NULL DEFAULT NEXTVAL('sc_sec.sq_responsavel'::regclass),
   seq_venda            INT8                 NULL DEFAULT NEXTVAL('sc_sec.sq_venda'::regclass),
   dsc_observacao       VARCHAR(120)         NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_contaareceber PRIMARY KEY (seq_conta_a_receber)
);

-- set table ownership
ALTER TABLE sec_conta_a_receber owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_contaareceber_venda                                */
/*==============================================================*/
CREATE  INDEX ix_contaareceber_venda ON sec_conta_a_receber (
seq_venda
);

/*==============================================================*/
/* Index: ix_contaareceber_responsavel                          */
/*==============================================================*/
CREATE  INDEX ix_contaareceber_responsavel ON sec_conta_a_receber (
seq_responsavel
);

/*==============================================================*/
/* Table: sec_conta_bancaria                                    */
/*==============================================================*/
CREATE TABLE sec_conta_bancaria (
   cod_conta_bancaria   INT8                 NOT NULL,
   dsc_descricao        VARCHAR(120)         NULL,
   val_saldo            DECIMAL(10,2)        NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_contabancaria PRIMARY KEY (cod_conta_bancaria)
);

-- set table ownership
ALTER TABLE sec_conta_bancaria owner TO sc_sec
;

/*==============================================================*/
/* Table: sec_hist_conta                                        */
/*==============================================================*/
CREATE TABLE sec_hist_conta (
   seq_hist_conta       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_histconta'::regclass),
   seq_conta_a_receber  INT8                 NULL,
   seq_conta_a_pagar    INT8                 NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_histconta PRIMARY KEY (seq_hist_conta)
);

-- set table ownership
ALTER TABLE sec_hist_conta owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_histconta_contaareceber                            */
/*==============================================================*/
CREATE  INDEX ix_histconta_contaareceber ON sec_hist_conta (
seq_conta_a_receber
);

/*==============================================================*/
/* Index: ix_histconta_contaapagar                              */
/*==============================================================*/
CREATE  INDEX ix_histconta_contaapagar ON sec_hist_conta (
seq_conta_a_pagar
);

/*==============================================================*/
/* Table: sec_parcela                                           */
/*==============================================================*/
CREATE TABLE sec_parcela (
   seq_parcela          INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_parcela'::regclass),
   seq_conta_a_receber  INT8                 NULL,
   seq_conta_a_pagar    INT8                 NULL,
   cod_conta_bancaria   INT8                 NULL,
   dth_emissao          TIMESTAMP            NOT NULL,
   dat_vencimento       DATE                 NULL,
   dat_pagamento                DATE                             NULL,
   val_valor            DECIMAL(10,2)        NULL,
   dsc_observacao       VARCHAR(120)         NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_parcela PRIMARY KEY (seq_parcela)
);

-- set table ownership
ALTER TABLE sec_parcela owner TO sc_sec
;
/*==============================================================*/
/* Index: ix_parcela_contabancaria                              */
/*==============================================================*/
CREATE  INDEX ix_parcela_contabancaria ON sec_parcela (
cod_conta_bancaria
);

/*==============================================================*/
/* Index: ix_parcela_contaareceber                              */
/*==============================================================*/
CREATE  INDEX ix_parcela_contaareceber ON sec_parcela (
seq_conta_a_receber
);

/*==============================================================*/
/* Index: ix_parcela_contaapagar                                */
/*==============================================================*/
CREATE  INDEX ix_parcela_contaapagar ON sec_parcela (
seq_conta_a_pagar
);


/*==============================================================*/
/* Table: sec_responsavel                                       */
/*==============================================================*/
CREATE TABLE sec_responsavel (
   seq_responsavel      INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_responsavel'::regclass),
   nom_responsavel      VARCHAR(120)         NULL,
   ind_ativo            BOOL                 NOT NULL,
   CONSTRAINT pk_responsavel PRIMARY KEY (seq_responsavel)
);

-- set table ownership
ALTER TABLE sec_responsavel owner TO sc_sec
;

ALTER TABLE sec_conta_a_pagar
   ADD CONSTRAINT fk_contaapagar_responsavel FOREIGN KEY (seq_responsavel)
      REFERENCES sec_responsavel (seq_responsavel)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_conta_a_receber
   ADD CONSTRAINT fk_contaareceber_responsavel FOREIGN KEY (seq_responsavel)
      REFERENCES sec_responsavel (seq_responsavel)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_conta_a_receber
   ADD CONSTRAINT fk_contaareceber_venda FOREIGN KEY (seq_venda)
      REFERENCES sec_venda (seq_venda)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_hist_conta
   ADD CONSTRAINT fk_histconta_contaapagar FOREIGN KEY (seq_conta_a_pagar)
      REFERENCES sec_conta_a_pagar (seq_conta_a_pagar)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_hist_conta
   ADD CONSTRAINT fk_histconta_contaareceber FOREIGN KEY (seq_conta_a_receber)
      REFERENCES sec_conta_a_receber (seq_conta_a_receber)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_parcela
   ADD CONSTRAINT fk_parcela_contaapagar FOREIGN KEY (seq_conta_a_pagar)
      REFERENCES sec_conta_a_pagar (seq_conta_a_pagar)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_parcela
   ADD CONSTRAINT fk_parcela_contaareceber FOREIGN KEY (seq_conta_a_receber)
      REFERENCES sec_conta_a_receber (seq_conta_a_receber)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_parcela
   ADD CONSTRAINT fk_parcela_contabancaria FOREIGN KEY (cod_conta_bancaria)
      REFERENCES sec_conta_bancaria (cod_conta_bancaria)
      ON DELETE RESTRICT ON UPDATE RESTRICT;  
 
INSERT INTO sc_sec.sec_conta_bancaria(cod_conta_bancaria, dsc_descricao, val_saldo, ind_ativo) VALUES (1, 'BANCO', 0.0, TRUE);
INSERT INTO sc_sec.sec_conta_bancaria(cod_conta_bancaria, dsc_descricao, val_saldo, ind_ativo) VALUES (2, 'BRUNO', 0.0, TRUE);
INSERT INTO sc_sec.sec_conta_bancaria(cod_conta_bancaria, dsc_descricao, val_saldo, ind_ativo) VALUES (3, 'CAIXA', 0.0, TRUE);

SET search_path = public;