Compare commits
5
Commits
655e67a0f9
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ed2fbc5fa2 | ||
|
|
8cf91179c6 | ||
|
|
6561615978 | ||
|
|
18602e75d9 | ||
|
|
82202e77f0 |
@@ -328,8 +328,19 @@
|
|||||||
},
|
},
|
||||||
function(action) {
|
function(action) {
|
||||||
if(action.yes()) {
|
if(action.yes()) {
|
||||||
|
try{
|
||||||
lib.fncDeletarRegistro(config_avaliacoes, itemId);
|
lib.fncDeletarRegistro(config_avaliacoes, itemId);
|
||||||
engine.getField("dbtAvaliacoes").refresh();
|
engine.getField("dbtAvaliacoes").refresh();
|
||||||
|
} catch (error) {
|
||||||
|
engine.getField("dbtAvaliacoes").refresh();
|
||||||
|
lib_msg.showNotification({
|
||||||
|
type: lib_msg.notificationType.tray,
|
||||||
|
caption: "Avaliação apagada!",
|
||||||
|
msg: "A avaliação foi apagada com sucesso.",
|
||||||
|
position: lib_msg.notificationPosition.bottom_right,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -384,7 +395,7 @@
|
|||||||
spacing="true">
|
spacing="true">
|
||||||
<HorizontalLayout width="100%" spacing="true">
|
<HorizontalLayout width="100%" spacing="true">
|
||||||
<TextField expandRatio="0.8" width="100%" id="txfPesquisaJogo"
|
<TextField expandRatio="0.8" width="100%" id="txfPesquisaJogo"
|
||||||
caption="Pesquise pelo nome do jogo" type="string"
|
caption="Pesquise o nome do jogo" type="string"
|
||||||
immediate="true">
|
immediate="true">
|
||||||
|
|
||||||
<events>
|
<events>
|
||||||
@@ -400,7 +411,7 @@
|
|||||||
</events>
|
</events>
|
||||||
</TextField>
|
</TextField>
|
||||||
<ButtonWidget defaultIcon="SEARCH" id="btnPesquisar"
|
<ButtonWidget defaultIcon="SEARCH" id="btnPesquisar"
|
||||||
caption="Pesquisar" style="BLACK">
|
caption="Pesquisar" style="BLUE" expandRatio="0.2">
|
||||||
<onClickScript language="JavaScript">
|
<onClickScript language="JavaScript">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
function run() {
|
function run() {
|
||||||
@@ -512,18 +523,31 @@
|
|||||||
},
|
},
|
||||||
function(action) {
|
function(action) {
|
||||||
if(action.yes()) {
|
if(action.yes()) {
|
||||||
|
try {
|
||||||
|
|
||||||
lib.fncDeletarRegistro(config_jogos, itemId);
|
lib.fncDeletarRegistro(config_jogos, itemId);
|
||||||
engine.getField("dbtJogos").refresh();
|
engine.getField("dbtJogos").refresh();
|
||||||
}
|
} catch (error) {
|
||||||
|
engine.getField("dbtJogos").refresh();
|
||||||
|
lib_msg.showNotification({
|
||||||
|
type: lib_msg.notificationType.tray,
|
||||||
|
caption: "Apagado!!",
|
||||||
|
msg: "O jogo foi apagado com sucesso.",
|
||||||
|
position: lib_msg.notificationPosition.bottom_right,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
);
|
}
|
||||||
},
|
);
|
||||||
"trash",
|
},
|
||||||
|
"trash",
|
||||||
);
|
);
|
||||||
return btn;
|
return btn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var script = new Generator();
|
var script = new Generator();
|
||||||
|
|
||||||
]]>
|
]]>
|
||||||
</scriptColumnGenerator>
|
</scriptColumnGenerator>
|
||||||
</generated>
|
</generated>
|
||||||
@@ -540,7 +564,7 @@
|
|||||||
]]>
|
]]>
|
||||||
</onClickScript>
|
</onClickScript>
|
||||||
</ButtonWidget>
|
</ButtonWidget>
|
||||||
<ButtonWidget defaultIcon="SAVE" id="btnVerAvaliacoes" style="RED"
|
<ButtonWidget defaultIcon="STAR" id="btnVerAvaliacoes" style="ORANGE"
|
||||||
caption="Avaliações">
|
caption="Avaliações">
|
||||||
<onClickScript language="JavaScript">
|
<onClickScript language="JavaScript">
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
@@ -577,12 +601,18 @@
|
|||||||
<TextField id="txfTitulo" caption="Título" type="string"
|
<TextField id="txfTitulo" caption="Título" type="string"
|
||||||
width="100%"
|
width="100%"
|
||||||
required="true" minLength="3" maxLength="100" />
|
required="true" minLength="3" maxLength="100" />
|
||||||
<ComboBox id="cbbGenero" allowNullSelection="true"
|
<ComboBox id="cbbGenero" allowNullSelection="false"
|
||||||
caption="Gênero" description="ComboBox Exemplo"
|
caption="Gênero" description="ComboBox Exemplo"
|
||||||
updatable="false" required="true"
|
updatable="false" required="true"
|
||||||
visible="true" type="string" width="100%">
|
visible="true" type="string" width="100%">
|
||||||
<entry value="Ação" key="Ação" />
|
<entry value="Ação" key="Ação" />
|
||||||
<entry value="Aventura" key="Aventura" />
|
<entry value="Aventura" key="Aventura" />
|
||||||
|
<entry value="Corrida" key="Corrida" />
|
||||||
|
<entry value="Esporte" key="Esporte" />
|
||||||
|
<entry value="Estratégia" key="Estratégia" />
|
||||||
|
<entry value="Luta" key="Luta" />
|
||||||
|
<entry value="RPG" key="RPG" />
|
||||||
|
<entry value="Simulação" key="Simulação" />
|
||||||
<entry value="Terror" key="Terror" />
|
<entry value="Terror" key="Terror" />
|
||||||
<entry value="Sobrevivência" key="Sobrevivência" />
|
<entry value="Sobrevivência" key="Sobrevivência" />
|
||||||
<entry value="Infântil" key="Infântil" />
|
<entry value="Infântil" key="Infântil" />
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
@@ -1,169 +1,246 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<databaseChangeLog
|
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||||
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
|
||||||
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
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
|
||||||
xsi:schemaLocation="
|
http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
|
||||||
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-1">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
|
<not>
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_JOGOS" />
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
|
||||||
<changeSet author="matheus.medeiros" id="matheus.medeiros-drop">
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
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)
|
||||||
|
);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
<sql>
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-2">
|
||||||
DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES;
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
DROP TABLE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS;
|
<not>
|
||||||
</sql>
|
<sequenceExists sequenceName="TB_MATHEUS_MEDEIROS_JOGOS_SEQ" />
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ
|
||||||
|
START WITH 1 INCREMENT BY 1 CACHE 1 NO CYCLE;
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
</changeSet>
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-4">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
|
<not>
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_AVALIACOES" />
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
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)
|
||||||
|
);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-3">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
|
<not>
|
||||||
|
<sequenceExists sequenceName="TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ" />
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
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-drop-sequences">
|
<!-- ========================================================= -->
|
||||||
|
<!-- NOVOS CHANGESETS - SEM ALTERAR OS ANTIGOS -->
|
||||||
|
<!-- ========================================================= -->
|
||||||
|
|
||||||
<sql>
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-5">
|
||||||
DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ;
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
DROP SEQUENCE IF EXISTS TB_MATHEUS_MEDEIROS_JOGOS_SEQ;
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_JOGOS"/>
|
||||||
</sql>
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS
|
||||||
|
ALTER COLUMN TITULO TYPE VARCHAR(100);
|
||||||
|
|
||||||
</changeSet>
|
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');
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
<changeSet author="matheus.medeiros" id="matheus.medeiros-1">
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-6">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_JOGOS"/>
|
||||||
|
<not>
|
||||||
|
<columnExists tableName="TB_MATHEUS_MEDEIROS_JOGOS" columnName="NOTA_MEDIA"/>
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS
|
||||||
|
ADD COLUMN NOTA_MEDIA NUMERIC(3,1);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
<sql>
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-7">
|
||||||
CREATE SEQUENCE TB_MATHEUS_MEDEIROS_JOGOS_SEQ
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
START WITH 1
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_JOGOS"/>
|
||||||
INCREMENT BY 1
|
</preConditions>
|
||||||
CACHE 1
|
<sql endDelimiter=";" splitStatements="true" stripComments="true">
|
||||||
NO CYCLE;
|
ALTER TABLE TB_MATHEUS_MEDEIROS_JOGOS
|
||||||
</sql>
|
DROP CONSTRAINT IF EXISTS CK_MM_JOGOS_NOTA_MEDIA;
|
||||||
|
|
||||||
</changeSet>
|
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
|
||||||
|
);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-8">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_AVALIACOES"/>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
|
ALTER COLUMN COMENTARIO TYPE VARCHAR(300);
|
||||||
|
|
||||||
<changeSet author="matheus.medeiros" id="matheus.medeiros-2">
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
|
ALTER COLUMN COMENTARIO DROP NOT NULL;
|
||||||
|
|
||||||
<sql>
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
CREATE TABLE TB_MATHEUS_MEDEIROS_JOGOS (
|
ALTER COLUMN NOTA TYPE NUMERIC(3,1);
|
||||||
|
|
||||||
CODIGO
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
NUMERIC(10)
|
ALTER COLUMN NOTA DROP NOT NULL;
|
||||||
DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_JOGOS_SEQ')
|
|
||||||
NOT NULL,
|
|
||||||
|
|
||||||
TITULO
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
VARCHAR(100)
|
ALTER COLUMN DATA_AVALIACAO TYPE TIMESTAMP;
|
||||||
NOT NULL,
|
|
||||||
|
|
||||||
GENERO
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
VARCHAR(30)
|
ALTER COLUMN DATA_AVALIACAO SET DEFAULT CURRENT_TIMESTAMP;
|
||||||
NOT NULL,
|
|
||||||
|
|
||||||
ANO_LANCAMENTO
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
NUMERIC(4)
|
ALTER COLUMN CODIGO SET DEFAULT NEXTVAL('TB_MATHEUS_MEDEIROS_AVALIACOES_SEQ');
|
||||||
NOT NULL,
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
PRODUTORA
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-9">
|
||||||
VARCHAR(50)
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
NOT NULL,
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_AVALIACOES"/>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="true">
|
||||||
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
|
DROP CONSTRAINT IF EXISTS CK_MM_AVAL_NOTA;
|
||||||
|
|
||||||
NOTA_MEDIA
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
NUMERIC(3,1),
|
ADD CONSTRAINT CK_MM_AVAL_NOTA
|
||||||
|
CHECK (
|
||||||
|
NOTA IS NULL
|
||||||
|
OR NOTA BETWEEN 0 AND 10
|
||||||
|
);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
DESCRICAO
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-10">
|
||||||
VARCHAR(500),
|
<preConditions onError="WARN" onFail="MARK_RAN">
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_AVALIACOES"/>
|
||||||
|
</preConditions>
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="true">
|
||||||
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
|
DROP CONSTRAINT IF EXISTS UK_MM_AVAL_EMAIL_JOGO;
|
||||||
|
|
||||||
CONSTRAINT PK_MM_JOGOS
|
ALTER TABLE TB_MATHEUS_MEDEIROS_AVALIACOES
|
||||||
PRIMARY KEY (CODIGO),
|
ADD CONSTRAINT UK_MM_AVAL_EMAIL_JOGO
|
||||||
|
UNIQUE (EMAIL, ID_JOGO);
|
||||||
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
<!-- Tabela de vendas de jogos -->
|
||||||
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-11" objectQuotingStrategy="LEGACY">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
|
<not>
|
||||||
|
<tableExists tableName="TB_MATHEUS_MEDEIROS_VENDAS_JOGOS"/>
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
|
||||||
CONSTRAINT CK_MM_JOGOS_TITULO
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
CHECK (LENGTH(TITULO) BETWEEN 3 AND 100),
|
CREATE TABLE TB_MATHEUS_MEDEIROS_VENDAS_JOGOS (
|
||||||
|
ID NUMERIC(10) NOT NULL,
|
||||||
|
ID_JOGO NUMERIC(10) NOT NULL,
|
||||||
|
QTD_VENDIDA NUMERIC(10) NOT NULL,
|
||||||
|
PRECO_UN NUMERIC(12,2) NOT NULL,
|
||||||
|
VALOR_TOTAL NUMERIC(14,2) NOT NULL,
|
||||||
|
VENDEDOR VARCHAR(100) NOT NULL,
|
||||||
|
NOME_CLIENTE VARCHAR(150) NOT NULL,
|
||||||
|
NOME_LOJA VARCHAR(150) NOT NULL,
|
||||||
|
DTA_VENDA TIMESTAMP NOT NULL,
|
||||||
|
|
||||||
CONSTRAINT CK_MM_JOGOS_ANO
|
CONSTRAINT PK_MM_VENDAS_JOGOS
|
||||||
CHECK (
|
PRIMARY KEY (ID),
|
||||||
ANO_LANCAMENTO BETWEEN 1970
|
|
||||||
AND EXTRACT(YEAR FROM CURRENT_DATE)
|
|
||||||
),
|
|
||||||
|
|
||||||
CONSTRAINT CK_MM_JOGOS_NOTA_MEDIA
|
CONSTRAINT FK_MM_VENDAS_JOGO
|
||||||
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)
|
FOREIGN KEY (ID_JOGO)
|
||||||
REFERENCES TB_MATHEUS_MEDEIROS_JOGOS (CODIGO),
|
REFERENCES TB_MATHEUS_MEDEIROS_JOGOS (CODIGO),
|
||||||
|
|
||||||
CONSTRAINT CK_MM_AVAL_NOTA
|
CONSTRAINT CK_MM_VENDAS_QTD
|
||||||
CHECK (
|
CHECK (QTD_VENDIDA > 0),
|
||||||
NOTA IS NULL
|
|
||||||
OR NOTA BETWEEN 0 AND 10
|
|
||||||
)
|
|
||||||
|
|
||||||
|
CONSTRAINT CK_MM_VENDAS_PRECO
|
||||||
|
CHECK (PRECO_UN >= 0),
|
||||||
|
|
||||||
|
CONSTRAINT CK_MM_VENDAS_TOTAL
|
||||||
|
CHECK (VALOR_TOTAL >= 0)
|
||||||
);
|
);
|
||||||
</sql>
|
</sql>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
|
<!-- Sequência para geração automática do ID -->
|
||||||
|
<changeSet author="matheus.medeiros" id="matheus.medeiros-12">
|
||||||
|
<preConditions onError="WARN" onFail="MARK_RAN" onSqlOutput="IGNORE">
|
||||||
|
<not>
|
||||||
|
<sequenceExists
|
||||||
|
sequenceName="TB_MATHEUS_MEDEIROS_VENDAS_JOGOS_SEQ"/>
|
||||||
|
</not>
|
||||||
|
</preConditions>
|
||||||
|
|
||||||
|
<sql endDelimiter=";" splitStatements="true" stripComments="false">
|
||||||
|
CREATE SEQUENCE TB_MATHEUS_MEDEIROS_VENDAS_JOGOS_SEQ
|
||||||
|
START WITH 1
|
||||||
|
INCREMENT BY 1
|
||||||
|
CACHE 1
|
||||||
|
NO CYCLE;
|
||||||
|
</sql>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
Reference in New Issue
Block a user