Changeset 5726


Ignore:
Timestamp:
03/14/12 18:40:04 (12 years ago)
Author:
viani
Message:

Ticket #2531 - Correções de banco de dados no instalador do workflow

Location:
trunk/workflow/setup
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/workflow/setup/default_records.inc.php

    r3167 r5726  
    8181 
    8282        /* create the new workflow tables */ 
    83         $workflowDB->query('CREATE TABLE organizacao (organizacao_id serial NOT NULL, nome character varying(20) NOT NULL, descricao character varying(100) NOT NULL, url_imagem character varying(200), ativa character varying(1) NOT NULL, sitio CHARACTER VARYING(100))'); 
     83        $workflowDB->query('CREATE TABLE organizacao (organizacao_id serial NOT NULL, nome character varying(20) NOT NULL, descricao character varying(100) NOT NULL, url_imagem character varying(200), ativa character varying(1) NOT NULL, sitio CHARACTER VARYING(100), gidnumber_simplificado character varying(100))'); 
    8484        $workflowDB->query('CREATE TABLE area_status (area_status_id serial NOT NULL, organizacao_id integer NOT NULL, descricao character varying(50) NOT NULL, nivel integer NOT NULL)'); 
    8585        $workflowDB->query('CREATE TABLE centro_custo (organizacao_id integer NOT NULL, centro_custo_id serial NOT NULL, nm_centro_custo integer NOT NULL, grupo character varying(30), descricao character varying(100) NOT NULL)'); 
    8686        $workflowDB->query('CREATE TABLE localidade (organizacao_id integer NOT NULL, localidade_id serial NOT NULL, centro_custo_id integer, descricao character varying(50) NOT NULL, empresa CHARACTER VARYING(100), endereco CHARACTER VARYING(100), complemento CHARACTER VARYING(50), cep CHARACTER VARYING(9), bairro CHARACTER VARYING(30), cidade CHARACTER VARYING(50), uf CHARACTER(2))'); 
    8787        $workflowDB->query('CREATE TABLE funcionario (funcionario_id int4 NOT NULL, area_id integer NOT NULL, localidade_id integer NOT NULL, centro_custo_id integer, organizacao_id integer NOT NULL, funcionario_status_id integer NOT NULL, cargo_id int4, nivel int2, funcionario_categoria_id int4, titulo CHARACTER VARYING(30))'); 
    88         $workflowDB->query('CREATE TABLE area (organizacao_id integer NOT NULL, area_id serial NOT NULL, area_status_id integer NOT NULL, areasup_organizacao_id integer, superior_area_id integer, centro_custo_id integer, titular_funcionario_id int4, sigla character varying(20) NOT NULL, descricao character varying(100) NOT NULL, ativa character varying(1) NOT NULL, auxiliar_funcionario_id int4)'); 
     88        $workflowDB->query('CREATE TABLE area (organizacao_id integer NOT NULL, area_id serial NOT NULL, area_status_id integer NOT NULL, superior_area_id integer, centro_custo_id integer, titular_funcionario_id int4, sigla character varying(20) NOT NULL, descricao character varying(100) NOT NULL, ativa character varying(1) NOT NULL, auxiliar_funcionario_id int4)'); 
    8989        $workflowDB->query('CREATE TABLE funcionario_status (funcionario_status_id serial NOT NULL, descricao character varying(50) NOT NULL, exibir character varying(1) NOT NULL, organizacao_id integer NOT NULL)'); 
    9090        $workflowDB->query('CREATE TABLE cargo (cargo_id serial NOT NULL, descricao character varying(150), organizacao_id int4)'); 
    91         $workflowDB->query('CREATE TABLE funcionario_categoria (funcionario_categoria_id serial NOT NULL, descricao character varying(150), organizacao_id int4)'); 
     91        $workflowDB->query('CREATE TABLE funcionario_categoria (funcionario_categoria_id serial NOT NULL, descricao character varying(150), organizacao_id int4 NOT NULL)'); 
    9292        $workflowDB->query('CREATE TABLE telefone (telefone_id serial NOT NULL, descricao character varying(50) NOT NULL, numero character varying(50) NOT NULL, organizacao_id integer NOT NULL)'); 
    9393        $workflowDB->query('CREATE TABLE substituicao (substituicao_id serial NOT NULL, area_id integer NOT NULL, funcionario_id integer NOT NULL, data_inicio date NOT NULL, data_fim date NOT NULL)'); 
     
    9898        /* primary keys */ 
    9999        $workflowDB->query('ALTER TABLE ONLY organizacao ADD CONSTRAINT organizacao_pkey PRIMARY KEY (organizacao_id)'); 
    100         $workflowDB->query('ALTER TABLE ONLY area_status ADD CONSTRAINT areastatus_pkey PRIMARY KEY (area_status_id, organizacao_id)'); 
    101         $workflowDB->query('ALTER TABLE ONLY centro_custo ADD CONSTRAINT centrocusto_pkey PRIMARY KEY (organizacao_id, centro_custo_id)'); 
    102         $workflowDB->query('ALTER TABLE ONLY localidade ADD CONSTRAINT localidade_pkey PRIMARY KEY (organizacao_id, localidade_id)'); 
     100        $workflowDB->query('ALTER TABLE ONLY area_status ADD CONSTRAINT areastatus_pkey PRIMARY KEY (area_status_id)'); 
     101        $workflowDB->query('ALTER TABLE ONLY centro_custo ADD CONSTRAINT centrocusto_pkey PRIMARY KEY (centro_custo_id)'); 
     102        $workflowDB->query('ALTER TABLE ONLY localidade ADD CONSTRAINT localidade_pkey PRIMARY KEY (localidade_id)'); 
    103103        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT funcionario_pkey PRIMARY KEY (funcionario_id)'); 
    104104        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT area_pkey PRIMARY KEY (area_id)'); 
     
    106106        $workflowDB->query('ALTER TABLE ONLY telefone ADD CONSTRAINT telefone_pkey PRIMARY KEY (telefone_id)'); 
    107107        $workflowDB->query('ALTER TABLE ONLY substituicao ADD CONSTRAINT substituicao_pkey PRIMARY KEY (substituicao_id)'); 
     108        $workflowDB->query('ALTER TABLE ONLY cargo ADD CONSTRAINT cargo_pkey PRIMARY KEY (cargo_id)'); 
     109        $workflowDB->query('ALTER TABLE ONLY funcionario_categoria ADD CONSTRAINT funcionario_categoria_pkey PRIMARY KEY (funcionario_categoria_id)'); 
    108110 
    109111 
     
    112114        $workflowDB->query('ALTER TABLE ONLY area_status ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    113115        $workflowDB->query('ALTER TABLE ONLY centro_custo ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    114         $workflowDB->query('ALTER TABLE ONLY localidade ADD CONSTRAINT "$1" FOREIGN KEY (centro_custo_id, organizacao_id) REFERENCES centro_custo(centro_custo_id, organizacao_id)'); 
     116        $workflowDB->query('ALTER TABLE ONLY localidade ADD CONSTRAINT "$1" FOREIGN KEY (centro_custo_id) REFERENCES centro_custo(centro_custo_id)'); 
    115117        $workflowDB->query('ALTER TABLE ONLY localidade ADD CONSTRAINT "$2" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    116         $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id, centro_custo_id) REFERENCES centro_custo(organizacao_id, centro_custo_id)'); 
    117         $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$2" FOREIGN KEY (organizacao_id, localidade_id) REFERENCES localidade(organizacao_id, localidade_id)'); 
    118         $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$3" FOREIGN KEY (organizacao_id, area_id) REFERENCES area(organizacao_id, area_id)'); 
     118        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$1" FOREIGN KEY (centro_custo_id) REFERENCES centro_custo(centro_custo_id)'); 
     119        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$2" FOREIGN KEY (localidade_id) REFERENCES localidade(localidade_id)'); 
     120        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$3" FOREIGN KEY (area_id) REFERENCES area(area_id)'); 
    119121        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$4" FOREIGN KEY (funcionario_status_id) REFERENCES funcionario_status(funcionario_status_id)'); 
    120         $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$5" FOREIGN KEY (cargo_id) REFERENCES cargo (cargo_id)'); 
    121         $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$6" FOREIGN KEY (funcionario_categoria_id) REFERENCES funcionario_categoria (funcionario_categoria_id)'); 
    122         $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$1" FOREIGN KEY (superior_area_id, areasup_organizacao_id) REFERENCES area(area_id, organizacao_id)'); 
    123         $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$2" FOREIGN KEY (centro_custo_id, organizacao_id) REFERENCES centro_custo(centro_custo_id, organizacao_id)'); 
     122        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$5" FOREIGN KEY (cargo_id) REFERENCES cargo(cargo_id)'); 
     123        $workflowDB->query('ALTER TABLE ONLY funcionario ADD CONSTRAINT "$6" FOREIGN KEY (funcionario_categoria_id) REFERENCES funcionario_categoria(funcionario_categoria_id)'); 
     124        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$1" FOREIGN KEY (superior_area_id) REFERENCES area(area_id)'); 
     125        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$2" FOREIGN KEY (centro_custo_id) REFERENCES centro_custo(centro_custo_id)'); 
    124126        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$3" FOREIGN KEY (titular_funcionario_id) REFERENCES funcionario(funcionario_id)'); 
    125127        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$4" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    126         $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$5" FOREIGN KEY (area_status_id, organizacao_id) REFERENCES area_status(area_status_id, organizacao_id)'); 
     128        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$5" FOREIGN KEY (area_status_id) REFERENCES area_status(area_status_id)'); 
    127129        $workflowDB->query('ALTER TABLE ONLY area ADD CONSTRAINT "$6" FOREIGN KEY (auxiliar_funcionario_id) REFERENCES funcionario(funcionario_id)'); 
    128130        $workflowDB->query('ALTER TABLE ONLY telefone ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    129131        $workflowDB->query('ALTER TABLE ONLY substituicao ADD CONSTRAINT "$1" FOREIGN KEY (area_id) REFERENCES area(area_id)'); 
    130132        $workflowDB->query('ALTER TABLE ONLY substituicao ADD CONSTRAINT "$2" FOREIGN KEY (funcionario_id) REFERENCES funcionario(funcionario_id)'); 
     133        $workflowDB->query('ALTER TABLE ONLY cargo ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
     134        $workflowDB->query('ALTER TABLE ONLY funcionario_categoria ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    131135 
    132136 
  • trunk/workflow/setup/tables_update.inc.php

    r5311 r5726  
    4040        } 
    4141 
    42         // Since Expresso 1.2 using Workflow 1.8.04.000 
    43         $test[] = '1.8.04.000'; 
    44         function workflow_upgrade1_8_04_000() 
    45         { 
    46                 /* Create index for table egw_wf_workitems  */ 
    47                 if (!$GLOBALS['phpgw_setup']->oProc->m_bDeltaOnly) 
    48                 { 
    49                         $GLOBALS['phpgw']->ADOdb->query('CREATE INDEX egw_wf_workitems_wf_instance_id_idx ON egw_wf_workitems(wf_instance_id)'); 
    50                 } 
    51  
    52                 #updating the current version 
    53                 $GLOBALS['setup_info']['workflow']['currentver'] = '1.8.05.000'; 
    54                 return $GLOBALS['setup_info']['workflow']['currentver']; 
    55         } 
    56  
    57         $test[] = '1.8.05.000'; 
    58         function workflow_upgrade1_8_05_000() 
    59         { 
    60                 /* Alter tables of orgchart */ 
    61                 if (!$GLOBALS['phpgw_setup']->oProc->m_bDeltaOnly) 
    62                 { 
    63                         $workflowHostInfo = extractDatabaseParameters(); 
    64  
    65                         /* connect to workflow database */ 
    66                         $workflowDB = $GLOBALS['phpgw']->ADOdb; 
    67                         if ($workflowDB->connect($workflowHostInfo['host'].":".$workflowHostInfo['port'], $workflowHostInfo['user'], $workflowHostInfo['password'], 'workflow')) 
    68                         { 
    69                                 /* add the new columns */ 
    70                                 $workflowDB->query('ALTER TABLE public.funcionario ADD COLUMN titulo CHARACTER VARYING(30)'); 
    71                                 $workflowDB->query('ALTER TABLE public.organizacao ADD COLUMN sitio CHARACTER VARYING(100)'); 
    72                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN empresa CHARACTER VARYING(100)'); 
    73                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN endereco CHARACTER VARYING(100)'); 
    74                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN complemento CHARACTER VARYING(50)'); 
    75                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN cep CHARACTER VARYING(9)'); 
    76                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN bairro CHARACTER VARYING(30)'); 
    77                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN cidade CHARACTER VARYING(50)'); 
    78                                 $workflowDB->query('ALTER TABLE public.localidade ADD COLUMN uf CHARACTER(2)'); 
    79  
    80                                 /* create table telefone */ 
    81                                 $workflowDB->query('CREATE TABLE public.telefone (telefone_id serial NOT NULL, descricao character varying(50) NOT NULL, numero character varying(50) NOT NULL, organizacao_id integer NOT NULL)'); 
    82                                 $workflowDB->query('ALTER TABLE ONLY public.telefone ADD CONSTRAINT telefone_pkey PRIMARY KEY (telefone_id)'); 
    83                                 $workflowDB->query('ALTER TABLE ONLY public.telefone ADD CONSTRAINT "$1" FOREIGN KEY (organizacao_id) REFERENCES organizacao(organizacao_id)'); 
    84                                 $workflowDB->query("GRANT ALL ON TABLE public.telefone TO admin_workflow"); 
    85                                 $workflowDB->query("GRANT ALL ON TABLE public.telefone TO postgres"); 
    86                                 $workflowDB->query("GRANT SELECT ON TABLE public.telefone TO public"); 
    87                                 $workflowDB->query("GRANT ALL ON TABLE public.telefone_telefone_id_seq TO admin_workflow"); 
    88                                 $workflowDB->query("GRANT ALL ON TABLE public.telefone_telefone_id_seq TO postgres"); 
    89                                 $workflowDB->query("GRANT SELECT ON TABLE public.telefone_telefone_id_seq TO public"); 
    90                         } 
    91  
    92                         /* reconnect to the previous database */ 
    93                         $GLOBALS['phpgw']->ADOdb->connect($workflowHostInfo['host'].":".$workflowHostInfo['port'], $workflowHostInfo['user'], $workflowHostInfo['password'], $workflowHostInfo['dbname']); 
    94                 } 
    95                 #updating the current version 
    96                 $GLOBALS['setup_info']['workflow']['currentver'] = '1.8.06.000'; 
    97                 return $GLOBALS['setup_info']['workflow']['currentver']; 
    98         } 
    99  
    100         $test[] = '1.8.06.000'; 
    101         function workflow_upgrade1_8_06_000() 
    102         { 
    103                 #updating the current version 
    104                 $GLOBALS['setup_info']['workflow']['currentver'] = '2.0.000'; 
    105                 return $GLOBALS['setup_info']['workflow']['currentver']; 
    106         } 
    10742        $test[] = '2.0.000'; 
    10843        function workflow_upgrade2_0_000() 
     
    194129                        /* adding primary key without the column removed */ 
    195130                        $GLOBALS['phpgw']->ADOdb->query('ALTER TABLE egw_wf_interinstance_relations ADD CONSTRAINT egw_wf_interinstance_relations_pkey PRIMARY KEY (wf_parent_instance_id, wf_child_instance_id)'); 
    196                          
     131 
    197132                        /* Update the organogram level of administration off all users from 0 to 1. */ 
    198133                        $GLOBALS['phpgw']->ADOdb->query('UPDATE egw_wf_admin_access set nivel = 1 WHERE tipo = \'ORG\' and nivel = 0'); 
     
    228163        { 
    229164                #updating the current version 
    230                  
     165 
    231166                $GLOBALS['phpgw']->ADOdb->query("INSERT into phpgw_lang values ('en','workflow','Reports','Reports') "); 
    232                  
    233                 $GLOBALS['phpgw']->ADOdb->query("INSERT into phpgw_lang values ('pt-br','workflow','Reports','Relatórios') ");   
    234                  
     167 
     168                $GLOBALS['phpgw']->ADOdb->query("INSERT into phpgw_lang values ('pt-br','workflow','Reports','Relatórios') "); 
     169 
    235170                $workflowHostInfo = extractDatabaseParameters(); 
    236171 
     
    241176                                /* creating table substitution */ 
    242177                                $workflowDB->query('CREATE SCHEMA listagem AUTHORIZATION postgres; GRANT ALL ON SCHEMA listagem TO postgres; GRANT ALL ON SCHEMA listagem TO admin_workflow;'); 
    243                  
     178 
    244179                        $workflowDB->query("CREATE TABLE listagem.listagem 
    245180                                                        ( 
     
    309244                                                        GRANT ALL ON TABLE listagem.listagem_coluna TO admin_workflow;"); 
    310245 
    311                          
     246 
    312247                        $workflowDB->query("CREATE TABLE listagem.listagem_indicador 
    313248                                                                ( 
     
    330265                                                                GRANT ALL ON TABLE listagem.listagem_indicador TO admin_workflow;"); 
    331266 
    332                          
     267 
    333268                        $workflowDB->query("CREATE TABLE listagem.listagem_parametro 
    334269                                                                ( 
     
    349284                                                                GRANT ALL ON TABLE listagem.listagem_parametro TO postgres; 
    350285                                                                GRANT ALL ON TABLE listagem.listagem_parametro TO admin_workflow;"); 
    351                                                                  
    352                                                                  
    353                                                                  
    354                          
    355                                 $workflowDB->query("CREATE SEQUENCE listagem.listagem_coluna_lslcoid_seq 
     286 
     287 
     288 
     289 
     290                        $workflowDB->query("CREATE SEQUENCE listagem.listagem_coluna_lslcoid_seq 
    356291                                  INCREMENT 1 
    357292                                  MINVALUE 1 
     
    360295                                  CACHE 1; 
    361296                                ALTER TABLE listagem.listagem_coluna_lslcoid_seq OWNER TO postgres; 
    362                                  
    363                                  
     297 
     298 
    364299                                CREATE SEQUENCE listagem.listagem_indicador_lsioid_seq 
    365300                                  INCREMENT 1 
     
    369304                                  CACHE 1; 
    370305                                ALTER TABLE listagem.listagem_indicador_lsioid_seq OWNER TO postgres; 
    371                                  
    372                                  
     306 
     307 
    373308                                CREATE SEQUENCE listagem.listagem_lstoid_seq 
    374309                                  INCREMENT 1 
     
    378313                                  CACHE 1; 
    379314                                ALTER TABLE listagem.listagem_lstoid_seq OWNER TO postgres; 
    380                                  
    381                                  
     315 
     316 
    382317                                CREATE SEQUENCE listagem.listagem_parametro_lspoid_seq 
    383318                                  INCREMENT 1 
     
    390325 
    391326                        } 
    392                  
     327 
    393328 
    394329                $GLOBALS['setup_info']['workflow']['currentver'] = '2.4.0'; 
Note: See TracChangeset for help on using the changeset viewer.