169 lines
4.3 KiB
XML
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> |