--Novas tabelas para mercado livre CREATE TABLE pro_mercadolivre_categoria( id_categoria character varying(255) NOT NULL, nome character varying(255) NOT NULL, id_categoria_parent character varying(255) NOT NULL, CONSTRAINT pk_pro_mercadolivre_categoria PRIMARY KEY(id_categoria) ); COMMENT ON TABLE pro_mercadolivre_categoria IS 'Tabela de categorias do Mercado Livre'; CREATE TABLE pro_mercadolivre_atributo( id_categoria character varying(255) NOT NULL, id_atributo character varying(255) NOT NULL, nome character varying(255) NOT NULL, tipo_valor character varying(255) NOT NULL, valores text NOT NULL, tag_permite_variacao boolean NOT NULL, tag_define_foto boolean NOT NULL, tag_fixo boolean NOT NULL, tag_escondido boolean NOT NULL, tag_inferido boolean NOT NULL, tag_multivalor boolean NOT NULL, tag_outros boolean NOT NULL, tag_pk_produto boolean NOT NULL, tag_somente_leitura boolean NOT NULL, tag_requerido boolean NOT NULL, tag_restrito boolean NOT NULL, tag_atributo_variacao boolean NOT NULL, tag_requerido_novo boolean NOT NULL, tem_unidades boolean NOT NULL, unidades_permitidas character varying NOT NULL, unidade_padrao character varying NOT NULL, CONSTRAINT pk_pro_mercadolivre_atributo PRIMARY KEY (id_categoria, id_atributo), CONSTRAINT fk_pro_mercadolivre_atributo FOREIGN KEY (id_categoria) REFERENCES pro_mercadolivre_categoria (id_categoria) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ); COMMENT ON TABLE pro_mercadolivre_atributo IS 'Tabela de atributos da categoria do Mercado Livre'; CREATE TABLE pro_mercadolivre_categoria_x_atributo_x_produto( filial integer NOT NULL, produto integer NOT NULL, id_categoria character varying(255) NOT NULL, id_atributo character varying(255) NOT NULL, valor_atributo character varying NOT NULL, CONSTRAINT pk_pro_mercadolivre_categoria_x_atributo_x_produto PRIMARY KEY(filial, produto, id_categoria, id_atributo), CONSTRAINT fk_pro_mercadolivre_categoria_x_atributo_x_produto FOREIGN KEY (filial, produto) REFERENCES pro_produto(filial_pro, codigo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE RESTRICT, CONSTRAINT fk_pro_mercadolivre_categoria_x_atributo_x_produto2 FOREIGN KEY (id_categoria, id_atributo) REFERENCES pro_mercadolivre_atributo(id_categoria, id_atributo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE RESTRICT ); COMMENT ON TABLE pro_mercadolivre_categoria_x_atributo_x_produto IS 'Tabela de relacionamento do produto com a categoria do mercado livre'; --Aplicacoes INSERT INTO ctl_aplicativo (SELECT 'aba_pro_mercadolivre', 'Aba de Produto Dados do Mercado Livre', 'PRO', 'U' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'aba_pro_mercadolivre' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_mercadolivre_atributo', 'Consulta de Atributos do Mercado Livre', 'PRO', 'R' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_mercadolivre_atributo' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_mercadolivre_categoria', 'Consulta de Categorias do Mercado Livre', 'PRO', 'R' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_mercadolivre_categoria' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_mercadolivre_categoria_x_atributo_x_produto', 'Consulta de Atributos do Produto do Mercado Livre', 'PRO', 'R' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_mercadolivre_categoria_x_atributo_x_produto' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'frm_pro_mercadolivre_atributo', 'Cadastro de Atributos do Mercado Livre', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_mercadolivre_atributo' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'frm_pro_mercadolivre_categoria', 'Cadastro de Categorias do Mercado Livre', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_mercadolivre_categoria' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'frm_pro_mercadolivre_categoria_x_atributo_x_produto', 'Cadastro de Atributos do Produto do Mercado Livre', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_mercadolivre_categoria_x_atributo_x_produto' ) IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'frm_pro_mercadolivre_categoria_x_atributo_x_produto_insert', 'Insere, Apaga ou Atualiza a Categoria do Produto do Mercado Livre', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_mercadolivre_categoria_x_atributo_x_produto_insert' ) IS NULL LIMIT 1); --Acessos INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'aba_pro_mercadolivre', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'aba_pro_mercadolivre' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_mercadolivre_atributo', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_mercadolivre_atributo' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_mercadolivre_categoria', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_mercadolivre_categoria' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_mercadolivre_categoria_x_atributo_x_produto', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_mercadolivre_categoria_x_atributo_x_produto' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_mercadolivre_atributo', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_mercadolivre_atributo' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_mercadolivre_categoria', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_mercadolivre_categoria' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_mercadolivre_categoria_x_atributo_x_produto', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_mercadolivre_categoria_x_atributo_x_produto' ) GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_mercadolivre_categoria_x_atributo_x_produto_insert', 'T' FROM ctl_grupo_x_direito WHERE grupousucod = 1 AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_mercadolivre_categoria_x_atributo_x_produto_insert' ) GROUP BY grupousucod); --Menu DELETE FROM ctl_menu_nivel WHERE codigo = 5926; INSERT INTO ctl_menu_nivel VALUES(5926, 'Mercado Livre', 9999, '', '_self', 'aba_pro_mercadolivre', 836, 1); --Dependencia DELETE FROM ctl_menu_nivel_dependencia WHERE aplicacao = 'aba_pro_mercadolivre'; INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'cns_pro_mercadolivre_atributo'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'cns_pro_mercadolivre_categoria'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'cns_pro_mercadolivre_categoria_x_atributo_x_produto'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'frm_pro_mercadolivre_atributo'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'frm_pro_mercadolivre_categoria'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'frm_pro_mercadolivre_categoria_x_atributo_x_produto'); INSERT INTO ctl_menu_nivel_dependencia VALUES('aba_pro_mercadolivre', 'frm_pro_mercadolivre_categoria_x_atributo_x_produto_insert');