Skip to content

Instantly share code, notes, and snippets.

@nenodias
Last active January 20, 2017 01:15
Show Gist options
  • Select an option

  • Save nenodias/f894c33f76743d6d9db81fa777022517 to your computer and use it in GitHub Desktop.

Select an option

Save nenodias/f894c33f76743d6d9db81fa777022517 to your computer and use it in GitHub Desktop.
-- FALHAS
ALTER TABLE falhas ADD COLUMN id bigserial;
ALTER TABLE falhas ADD CONSTRAINT falhas_pkey PRIMARY KEY (id);
-- CADPECAS
ALTER TABLE cadpecas DROP CONSTRAINT cadpecas_pkey;
ALTER TABLE cadpecas ADD COLUMN id bigserial;
ALTER TABLE cadpecas ADD CONSTRAINT cadpecas_pkey PRIMARY KEY (id);
-- CADSERVICOS
ALTER TABLE cadservicos DROP CONSTRAINT cadservicos_pkey;
ALTER TABLE cadservicos ADD COLUMN id bigserial;
ALTER TABLE cadservicos ADD CONSTRAINT cadservicos_pkey PRIMARY KEY (id);
-- MONTA
ALTER TABLE veiculo DROP CONSTRAINT fk_veiculo_mon;
ALTER TABLE modelo DROP CONSTRAINT fk_modelo;
ALTER TABLE monta DROP CONSTRAINT monta_pkey;
ALTER TABLE monta ADD COLUMN id bigserial;
ALTER TABLE monta ADD CONSTRAINT monta_pkey PRIMARY KEY (id);
ALTER TABLE modelo ADD COLUMN id_monta bigint;
-- Atualizando o id_monta
do $$
declare
arow record;
id_montadora bigint;
begin
for arow in
select codigo_modelo, codigo_montadora, origem from modelo
loop
SELECT id into id_montadora FROM monta WHERE codigo_montadora = arow.codigo_montadora AND origem = arow.origem;
UPDATE modelo SET id_monta = id_montadora WHERE codigo_modelo = arow.codigo_modelo;
end loop;
end;
$$;
ALTER TABLE modelo ADD CONSTRAINT fk_modelo FOREIGN KEY (id_monta) REFERENCES monta (id);
-- MODELO
ALTER TABLE veiculo DROP CONSTRAINT fk_veiculo_mod;
ALTER TABLE modelo DROP CONSTRAINT modelo_pkey;
ALTER TABLE modelo ADD COLUMN id bigserial;
ALTER TABLE veiculo ADD COLUMN id_modelo bigint;
ALTER TABLE modelo ADD CONSTRAINT modelo_pkey PRIMARY KEY (id);
do $$
declare
arow record;
novo_modelo bigint;
begin
for arow in
select codveiculo, cod_modelo, cod_montadora, origem from veiculo
loop
SELECT id into novo_modelo FROM modelo WHERE codigo_modelo = arow.cod_modelo AND codigo_montadora = arow.cod_montadora AND origem = arow.origem;
UPDATE veiculo SET id_modelo = novo_modelo WHERE codveiculo = arow.codveiculo;
end loop;
end;
$$;
ALTER TABLE veiculo ADD CONSTRAINT fk_veiculo_mod FOREIGN KEY (id_modelo) REFERENCES modelo (id);
ALTER TABLE veiculo DROP COLUMN cod_montadora;
ALTER TABLE veiculo DROP COLUMN origem;
ALTER TABLE veiculo DROP COLUMN cod_modelo;
ALTER TABLE modelo DROP COLUMN codigo_modelo;
ALTER TABLE modelo DROP COLUMN origem;
ALTER TABLE modelo DROP COLUMN codigo_montadora;
ALTER TABLE monta DROP COLUMN codigo_montadora;
ALTER TABLE histitem DROP CONSTRAINT histitem_pkey;
ALTER TABLE histitem ADD COLUMN id bigserial;
ALTER TABLE histitem ADD CONSTRAINT histitem_pkey PRIMARY KEY (id);
ALTER TABLE histitem ADD CONSTRAINT fk_historico FOREIGN KEY (sequencia) REFERENCES historico (sequencia);
ALTER TABLE monta RENAME TO montadora;
ALTER TABLE histitem RENAME TO historico_item;
ALTER TABLE pecas RENAME TO new_pecas;
ALTER TABLE servicos RENAME TO new_servicos;
ALTER TABLE cadpecas RENAME TO pecas;
ALTER TABLE cadservicos RENAME TO servicos;
SELECT MAX(codigo_cliente) FROM clientes;
ALTER SEQUENCE clientes_codigo_cliente_seq RESTART WITH <MXA + 1>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment