From 18602e75d9287557fd6262a5399e3211ad46ea62 Mon Sep 17 00:00:00 2001 From: Matheus Date: Fri, 25 Sep 2026 11:08:58 -0300 Subject: [PATCH] fix: add drop tables and sequences changeSets in matheus_medeiros_jogos.xml --- patches/postgresql/matheus_medeiros_jogos.xml | 311 +++++++++--------- 1 file changed, 164 insertions(+), 147 deletions(-) diff --git a/patches/postgresql/matheus_medeiros_jogos.xml b/patches/postgresql/matheus_medeiros_jogos.xml index 5518f2a..44518c1 100644 --- a/patches/postgresql/matheus_medeiros_jogos.xml +++ b/patches/postgresql/matheus_medeiros_jogos.xml @@ -1,173 +1,190 @@ - + + + + + + + - + + CREATE TABLE TB_MATHEUS_MEDEIROS_JOGOS ( + CODIGO NUMERIC(10) NOT NULL, + TITULO VARCHAR(150) NOT NULL, + GENERO VARCHAR(30) NOT NULL, + ANO_LANCAMENTO NUMERIC(4) NOT NULL, + PRODUTORA VARCHAR(50) NOT NULL, + DESCRICAO VARCHAR(500) NOT NULL, + CONSTRAINT PK_MM_JOGOS PRIMARY KEY (CODIGO), + CONSTRAINT CK_MM_JOGOS_ANO + CHECK (ANO_LANCAMENTO BETWEEN 1970 AND EXTRACT(YEAR FROM CURRENT_DATE)), + CONSTRAINT CK_MM_JOGOS_TITULO + CHECK (LENGTH(TITULO) BETWEEN 3 AND 100) + ); + + - - DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES; - DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS; - + + + + + + + + CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ + START WITH 1 INCREMENT BY 1 CACHE 1 NO CYCLE; + + - + + + + + + + + CREATE TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ( + CODIGO NUMERIC(10) NOT NULL, + NOME VARCHAR(100) NOT NULL, + EMAIL VARCHAR(150) NOT NULL, + COMENTARIO VARCHAR(1000) NOT NULL, + NOTA NUMERIC(4,2) NOT NULL, + DATA_AVALIACAO DATE DEFAULT CURRENT_DATE NOT NULL, + ID_JOGO NUMERIC(10) NOT NULL, + CONSTRAINT PK_MM_AVALIACOES PRIMARY KEY (CODIGO), + CONSTRAINT FK_MM_AVAL_JOGO + FOREIGN KEY (ID_JOGO) + REFERENCES TB_MATHEUS_MEDEIROS_JOGOS (CODIGO), + CONSTRAINT CK_MM_AVAL_NOTA + CHECK (NOTA BETWEEN 0 AND 10) + ); + + + + + + + + + + CREATE SEQUENCE TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ + START WITH 1 INCREMENT BY 1 CACHE 1 NO CYCLE; + + - + + + - - DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ; - DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS_SEQ; - DELETE FROM DATABASECHANGELOG - WHERE FILENAME LIKE '%matheus_medeiros_jogos.xml'; - + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + ALTER COLUMN TITULO TYPE VARCHAR(100); - + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + ALTER COLUMN DESCRICAO DROP NOT NULL; + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + ALTER COLUMN CODIGO SET DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_JOGOS_SEQ'); + + + + + + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + ADD COLUMN NOTA_MEDIA NUMERIC(3,1); + + + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + DROP CONSTRAINT IF EXISTS CK_MM_JOGOS_NOTA_MEDIA; - + ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS + ADD CONSTRAINT CK_MM_JOGOS_NOTA_MEDIA + CHECK ( + NOTA_MEDIA IS NULL + OR NOTA_MEDIA BETWEEN 0 AND 10 + ); + + - - CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ - START WITH 1 - INCREMENT BY 1 - CACHE 1 - NO CYCLE; - + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN COMENTARIO TYPE VARCHAR(300); - + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN COMENTARIO DROP NOT NULL; + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN NOTA TYPE NUMERIC(3,1); - + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN NOTA DROP NOT NULL; - - CREATE TABLE TB_MATHEUS_MEDEIROS_JOGOS ( + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN DATA_AVALIACAO TYPE TIMESTAMP; - CODIGO - NUMERIC(10) - DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_JOGOS_SEQ') - NOT NULL, + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN DATA_AVALIACAO SET DEFAULT CURRENT_TIMESTAMP; - TITULO - VARCHAR(100) - NOT NULL, + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ALTER COLUMN CODIGO SET DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ'); + + - GENERO - VARCHAR(30) - NOT NULL, + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + DROP CONSTRAINT IF EXISTS CK_MM_AVAL_NOTA; - ANO_LANCAMENTO - NUMERIC(4) - NOT NULL, + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ADD CONSTRAINT CK_MM_AVAL_NOTA + CHECK ( + NOTA IS NULL + OR NOTA BETWEEN 0 AND 10 + ); + + - PRODUTORA - VARCHAR(50) - NOT NULL, + + + + + + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + DROP CONSTRAINT IF EXISTS UK_MM_AVAL_EMAIL_JOGO; - NOTA_MEDIA - NUMERIC(3,1), - - DESCRICAO - VARCHAR(500), - - CONSTRAINT PK_MM_JOGOS - PRIMARY KEY (CODIGO), - - CONSTRAINT CK_MM_JOGOS_TITULO - CHECK (LENGTH(TITULO) BETWEEN 3 AND 100), - - CONSTRAINT CK_MM_JOGOS_ANO - CHECK ( - ANO_LANCAMENTO BETWEEN 1970 - AND EXTRACT(YEAR FROM CURRENT_DATE) - ), - - CONSTRAINT CK_MM_JOGOS_NOTA_MEDIA - CHECK ( - NOTA_MEDIA IS NULL - OR NOTA_MEDIA BETWEEN 0 AND 10 - ) - - ); - - - - - - - - CREATE SEQUENCE TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ - START WITH 1 - INCREMENT BY 1 - CACHE 1 - NO CYCLE; - - - - - - - - - - CREATE TABLE TB_MATHEUS_MEDEIROS_AVALIACOES ( - - CODIGO - NUMERIC(10) - DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ') - NOT NULL, - - NOME - VARCHAR(100) - NOT NULL, - - EMAIL - VARCHAR(150) - NOT NULL, - - COMENTARIO - VARCHAR(300), - - NOTA - NUMERIC(3,1), - - DATA_AVALIACAO - TIMESTAMP - DEFAULT CURRENT_TIMESTAMP - NOT NULL, - - ID_JOGO - NUMERIC(10) - NOT NULL, - - CONSTRAINT PK_MM_AVALIACOES - PRIMARY KEY (CODIGO), - - CONSTRAINT UK_MM_AVAL_EMAIL_JOGO - UNIQUE (EMAIL, ID_JOGO), - - CONSTRAINT FK_MM_AVAL_JOGO - FOREIGN KEY (ID_JOGO) - REFERENCES TB_MATHEUS_MEDEIROS_JOGOS (CODIGO), - - CONSTRAINT CK_MM_AVAL_NOTA - CHECK ( - NOTA IS NULL - OR NOTA BETWEEN 0 AND 10 - ) - - ); - - - + ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES + ADD CONSTRAINT UK_MM_AVAL_EMAIL_JOGO + UNIQUE (EMAIL, ID_JOGO); + + \ No newline at end of file