Files
jogos_matheus/patches/postgresql/matheus_medeiros_jogos.xml
T
Matheus 655e67a0f9
davinTI/jogos_matheus/pipeline/head There was a failure building this commit
atual
2026-09-25 10:39:38 -03:00

169 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.liquibase.org/xml/ns/dbchangelog-ext
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd
http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="matheus.medeiros" id="matheus.medeiros-drop">
<sql>
DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES;
DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS;
</sql>
</changeSet>
<changeSet author="matheus.medeiros" id="matheus.medeiros-drop-sequences">
<sql>
DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ;
DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS_SEQ;
</sql>
</changeSet>
<changeSet author="matheus.medeiros" id="matheus.medeiros-1">
<sql>
CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ
START WITH 1
INCREMENT BY 1
CACHE 1
NO CYCLE;
</sql>
</changeSet>
<changeSet author="matheus.medeiros" id="matheus.medeiros-2">
<sql>
CREATE TABLE TB_MATHEUS_MEDEIROS_JOGOS (
CODIGO
NUMERIC(10)
DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_JOGOS_SEQ')
NOT NULL,
TITULO
VARCHAR(100)
NOT NULL,
GENERO
VARCHAR(30)
NOT NULL,
ANO_LANCAMENTO
NUMERIC(4)
NOT NULL,
PRODUTORA
VARCHAR(50)
NOT NULL,
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
)
);
</sql>
</changeSet>
<changeSet author="matheus.medeiros" id="matheus.medeiros-3">
<sql>
CREATE SEQUENCE TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ
START WITH 1
INCREMENT BY 1
CACHE 1
NO CYCLE;
</sql>
</changeSet>
<changeSet author="matheus.medeiros" id="matheus.medeiros-4">
<sql>
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
)
);
</sql>
</changeSet>
</databaseChangeLog>