-- +goose Up
DECLARE
    v_count NUMBER;
BEGIN
    SELECT COUNT(*) INTO v_count
      FROM USER_TABLES
     WHERE TABLE_NAME = 'TB_FLASH_PERDAS';

    IF v_count = 0 THEN
        EXECUTE IMMEDIATE 'CREATE TABLE TB_FLASH_PERDAS (
            ID                    NUMBER          NOT NULL
                                                  CONSTRAINT PK_FLASH_PERDAS PRIMARY KEY,
            NUMERO_LOJA           NUMBER(10)      NOT NULL,
            NOME_LOJA             VARCHAR2(200)   NOT NULL,
            CODIGO_CATEGORIA_N1   VARCHAR2(50),
            NOME_CATEGORIA_N1     VARCHAR2(200),
            CODIGO_CATEGORIA_N2   VARCHAR2(50),
            NOME_CATEGORIA_N2     VARCHAR2(200),
            CODIGO_CATEGORIA_N3   VARCHAR2(50),
            NOME_CATEGORIA_N3     VARCHAR2(200),
            CODIGO_CATEGORIA_N4   VARCHAR2(50),
            NOME_CATEGORIA_N4     VARCHAR2(200),
            CODIGO_CATEGORIA_N5   VARCHAR2(50),
            NOME_CATEGORIA_N5     VARCHAR2(200),
            CODIGO_PRODUTO        VARCHAR2(50),
            NOME_PRODUTO          VARCHAR2(400),
            DATA_PERDA            DATE            NOT NULL,
            ANO                   NUMBER(4)       NOT NULL,
            MES                   NUMBER(2)       NOT NULL,
            DIA                   NUMBER(2)       NOT NULL,
            DIA_SEMANA            NUMBER(1),
            VALOR_PERDA           NUMBER(18,4),
            CUSTO                 NUMBER(18,4),
            QTD_PERDA             NUMBER(10),
            DATAINC               DATE            DEFAULT SYSDATE NOT NULL,
            DATAALT               DATE            DEFAULT SYSDATE NOT NULL
        )';
    END IF;
END;

-- +goose Down
DECLARE
    v_count NUMBER;
BEGIN
    SELECT COUNT(*) INTO v_count
      FROM USER_TABLES
     WHERE TABLE_NAME = 'TB_FLASH_PERDAS';

    IF v_count > 0 THEN
        EXECUTE IMMEDIATE 'DROP TABLE TB_FLASH_PERDAS CASCADE CONSTRAINTS PURGE';
    END IF;
END;