-- -----------------------------------------------------

-- Tabela `administradores`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}administradores` (

  `intAdministradorID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strAdministradorChave` CHAR(8) NOT NULL COMMENT 'Coluna utilizada para armazenar uma chave unica do usuario',

  `strAdministradorStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strAdministradorNome` VARCHAR(50) NOT NULL,

  `strAdministradorApelido` VARCHAR(30) NOT NULL,

  `strAdministradorSexo` ENUM('f','m') NOT NULL DEFAULT 'm',

  `strAdministradorEmail` VARCHAR(100) NOT NULL,

  `strAdministradorNivel` ENUM('master','admin') NULL DEFAULT 'master',

  `strAdministradorSenha` CHAR(32) NOT NULL,

  `tAdministradorUltAcesso` DATETIME NULL DEFAULT NULL,

  `tAdministradorDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intAdministradorID`),

  UNIQUE INDEX `id` (`intAdministradorID` ASC),

  INDEX `fk_administradores_idx` (`strAdministradorChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;



-- -----------------------------------------------------

-- Insere o administrador

-- -----------------------------------------------------

INSERT INTO `{PREFIXO_TABELA}administradores` ( 
  `strAdministradorChave`,

  `strAdministradorStatus` ,

  `strAdministradorNome` ,

  `strAdministradorApelido` ,

  `strAdministradorSexo` ,

  `strAdministradorEmail` ,

  `strAdministradorNivel` ,

  `strAdministradorSenha` ) VALUES (

  "sd5rt247",

  "ativo" ,

  "{NOME_ADMIN}" ,

  "{APELIDO_ADMIN}" ,

  "m" ,

  "{EMAIL_ADMIN}" ,

  "master" ,

  "{SENHA_ADMIN}"

  );





-- -----------------------------------------------------

-- Tabela `atualizacoes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}atualizacoes` (

  `intAtualizacaoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strAtualizacaoChave` CHAR(8) NOT NULL,

  `strAtualizacaoVersao` VARCHAR(12) NOT NULL,

  `strAtualizacaoTitulo` VARCHAR(200) NOT NULL,

  `strAtualizacaoDescricao` TEXT NOT NULL,

  `tAtualizacaoDataCadastro` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intAtualizacaoID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela que armazena as atualizações instaladas';





-- -----------------------------------------------------

-- Tabela `categorias`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}categorias` (

  `intCategoriaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strCategoriaChave` CHAR(8) NOT NULL,

  `strCategoriaStatus` ENUM('inativo','ativo') NOT NULL DEFAULT 'inativo',

  `strCategoriaNome` VARCHAR(50) NOT NULL,

  `strCategoriasSlug` VARCHAR(50) NOT NULL,

  `tCategoriaUltAlteracao` DATETIME NULL DEFAULT NULL,

  `tCategoriaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intCategoriaID`),

  INDEX `fk_categorias_idx` (`strCategoriaChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar categorias';





-- -----------------------------------------------------

-- Tabela `usuarios`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}usuarios` (

  `intUsuarioID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strUsuarioChave` CHAR(8) NOT NULL,

  `strUsuarioStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strUsuarioNome` VARCHAR(50) NOT NULL,

  `strUsuarioApelido` VARCHAR(30) NOT NULL,

  `strUsuarioEmpresa` VARCHAR(100) NULL DEFAULT NULL,

  `strUsuarioEndereco` VARCHAR(100) NOT NULL,

  `strUsuarioPais` CHAR(2) NOT NULL,

  `strUsuarioUF` CHAR(2) NOT NULL,

  `strUsuarioCidade` VARCHAR(50) NOT NULL,

  `strUsuarioCep` VARCHAR(9) NULL DEFAULT NULL,

  `strUsuarioFone` VARCHAR(16) NOT NULL,

  `strUsuarioEmail` VARCHAR(255) NOT NULL,

  `strUsuarioUrl` TEXT NULL DEFAULT NULL,

  `strUsuarioSenha` CHAR(32) NOT NULL,

  `intUsuarioNotanuMsg` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Status que define se o usuário deseja receber notificações  por e-mail das mensagens postadas na página do anuncio. 0 não, 1 para sim',

  `tUsuarioDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intUsuarioID`),

  INDEX `fk_usuarios` (`strUsuarioChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela que armazena os usuários';





-- -----------------------------------------------------

-- Tabela `empresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}empresas` (

  `intEmpresaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strEmpresaChave` CHAR(8) NOT NULL,

  `strEmpresaUserChave` CHAR(8) NULL,

  `strEmpresaPalavrasChave` VARCHAR(160) NULL DEFAULT NULL,

  `strEmpresaOrigem` ENUM('user','adm') NOT NULL DEFAULT 'user',

  `intEmpresaContVisita` INT(11) NOT NULL DEFAULT '0',

  `intEmpresaRankVisita` DOUBLE NOT NULL DEFAULT '0',

  `strEmpresaStatus` ENUM('inativo','ativo','expirado','cancelado') NOT NULL DEFAULT 'inativo',

  `strEmpresaStatusPg` ENUM('pago','pendente') NOT NULL DEFAULT 'pendente' COMMENT 'Define o status de pagamento do anuncio da empresa',

  `strEmpresaRevisao` ENUM('revisado','aguardando') NOT NULL DEFAULT 'aguardando' COMMENT 'Status de revisão da empresa recem publicada ou alterada',

  `strEmpresaTitulo` VARCHAR(255) NOT NULL,

  `strEmpresaTituloSlug` VARCHAR(255) NOT NULL,

  `strEmpresaDescricao` TEXT NOT NULL,

  `strEmpresaEndereco` VARCHAR(100) NOT NULL,

  `strEmpresaTelefone` VARCHAR(15) NOT NULL,

  `strEmpresaTelefone2` VARCHAR(15) NULL DEFAULT NULL,

  `strEmpresaBairro` VARCHAR(50) NOT NULL,

  `strEmpresaCidade` VARCHAR(50) NOT NULL,

  `strEmpresaCidadeSlug` VARCHAR(100) NOT NULL,

  `strEmpresaEstado` VARCHAR(2) NOT NULL,

  `strEmpresaCEP` VARCHAR(12) NULL DEFAULT NULL,

  `strEmpresaMaps` TEXT NULL DEFAULT NULL,

  `strEmpresaSite` VARCHAR(255) NULL DEFAULT NULL,

  `strEmpresaImagem1` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem2` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem3` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem4` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem5` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaImagem6` VARCHAR(20) NULL DEFAULT NULL,

  `strEmpresaVideo` TEXT NULL DEFAULT NULL,

  `tEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  `tEmpresaDataInicio` DATETIME NULL DEFAULT NULL,

  `tEmpresaDataExpiracao` DATETIME NULL DEFAULT NULL,

  `tEmpresaUltAlteracao` DATETIME NULL,

  PRIMARY KEY (`intEmpresaID`),

  INDEX `fk_empresas_usuarios_idx` (`strEmpresaUserChave` ASC),

  INDEX `fk_empresas_idx` (`strEmpresaChave` ASC),

  CONSTRAINT `fk_empresas_usuarios`

    FOREIGN KEY (`strEmpresaUserChave`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar anuncios';





-- -----------------------------------------------------

-- Tabela `categoriasempresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}categoriasempresas` (

  `intCatEmpresaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strCatEmpresaChave` CHAR(8) NOT NULL,

  `strCatEmpresaChaveCategoria` CHAR(8) NOT NULL,

  `strCatEmpresaChaveEmpresa` CHAR(8) NOT NULL,

  `tCatEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intCatEmpresaID`),

  INDEX `fk_categoriasempresa_empresas_idx` (`strCatEmpresaChaveEmpresa` ASC),

  INDEX `fk_categoriasempresa_categorias_idx` (`strCatEmpresaChaveCategoria` ASC),

  CONSTRAINT `fk_categoriasempresa_empresas`

    FOREIGN KEY (`strCatEmpresaChaveEmpresa`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_categoriasempresa_categorias`

    FOREIGN KEY (`strCatEmpresaChaveCategoria`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}categorias` (`strCategoriaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar a relacao entre um anuncio e as categorias';





-- -----------------------------------------------------

-- Tabela `configuracoes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}configuracoes` (

  `intConfID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strConfVersao` VARCHAR(14) NOT NULL,

  `strConfIdentidadeProduto` CHAR(8) NOT NULL COMMENT 'Armazena a chave do produto',

  `strConfLicencaProduto` VARCHAR(35) NOT NULL,

  `strConfOcultarContato` ENUM('sim','nao') NULL DEFAULT 'nao',

  `strConfEmail` VARCHAR(100) NOT NULL,

  `strConfLogo` VARCHAR(20) NULL,

  `strConfTelFixo` VARCHAR(20) NULL,

  `strConfTelCel` VARCHAR(20) NULL,

  `strConfEndereco` VARCHAR(255 ) NULL DEFAULT NULL,

  `strConfBairro` VARCHAR(50) NULL DEFAULT NULL,

  `strConfCidade` VARCHAR(50) NULL DEFAULT NULL,

  `strConfCep` VARCHAR(15) NULL DEFAULT NULL,

  `strConfEstado` VARCHAR( 2 ) NULL DEFAULT NULL,

  `strConfNomeGuia` VARCHAR(100) NOT NULL,

  `strConfMetaDescricao` TEXT NOT NULL,

  `strConfMetaTags` TEXT NULL,

  `strConfAnalitycs` TEXT NULL DEFAULT NULL,

  `strConfAdsense` TEXT NULL,

  `strConfFacebook` VARCHAR(255) NULL DEFAULT NULL,

  `strConfTwitter` VARCHAR(255) NULL DEFAULT NULL,

  `strConfGmais` VARCHAR(255) NULL DEFAULT NULL,

  `strConfLinkedin` VARCHAR(255) NULL DEFAULT NULL,

  `strConfPgDigital` ENUM('sim','nao') NOT NULL DEFAULT 'nao',

  `strConfPgDigitalEmail` VARCHAR(100) NULL,

  `strConfPgDigitalToken` CHAR(32) NULL DEFAULT NULL,

  `strConfNomeBanco` ENUM('bb','itau','cef','hsbc','santander','nenhum','safra','mercantil','bradesco') NOT NULL DEFAULT 'nenhum',

  `strConfAgencia` VARCHAR(15) NULL,

  `strConfCCorrente` VARCHAR(20) NULL,

  `strConfFavorecido` VARCHAR(255) NULL,

  `strConfCNPJCPF` VARCHAR(30) NULL,

  `strConfObservacoes` TEXT NULL,

  `strConfCamCidade` ENUM('sim','nao') NOT NULL DEFAULT 'nao',

  `intConfPermnotcliente` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Status para permitir que o cliente possa configurar se deseja receber ou não notificações do sistema por e-mail.\nQuando inativo o cliente não poderá configurar.\n0 para inativo, 1 para ativo',

  `intconfNotnovoanuncio` TINYINT(1) UNSIGNED NULL DEFAULT 0 COMMENT 'Status que define se uma notificacao sera enviada por e-mail para o e-mail da conta de SMTP cadastrada, quando um novo anúncio é cadastrado.',

  `intConfNotmsganuncio` TINYINT(1) UNSIGNED NULL DEFAULT 0 COMMENT 'Status que define se uma notificacao sera enviada por e-mail para o e-mail da conta de SMTP cadastrada, quando uma nova mensagem for enviada na página do  anúncio.',

  `strConfServidorSmtp` VARCHAR(100) NULL DEFAULT NULL,

  `strConfEmailSmtp` VARCHAR(255) NULL DEFAULT NULL,

  `strConfSenhaSmtp` VARCHAR(32) NULL DEFAULT NULL,

  `intConfPortaSmtp` INT(6) UNSIGNED NULL DEFAULT NULL,

  `tConfDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intConfID`))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;




-- -----------------------------------------------------

-- Insere os dados de configurações

-- -----------------------------------------------------

INSERT INTO `{PREFIXO_TABELA}configuracoes` ( 
  `intConfID`,

  `strConfVersao` ,

  `strConfIdentidadeProduto` ,

  `strConfLicencaProduto` ,

  `strConfEmail` ,

  `strConfNomeGuia` ,

  `strConfMetaDescricao`

  ) VALUES (

  "1",

  "1.21.57" ,

  "54587454" ,

  "{GUIA_LICENCA}" ,

  "{EMAIL_ADMIN}" ,

  "{GUIA_NOME}" ,

  "{GUIA_DESCRICAO}" 

  

  );





-- -----------------------------------------------------

-- Tabela `historicoacoes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}historicoacoes` (

  `intHistoricoacoesID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strHistoricoacoesChave` CHAR(8) NOT NULL,

  `intHistoricoacoesChaveConta` INT(8) NOT NULL,

  `strHistoricoacoesChaveAdministrador` CHAR(8) NOT NULL,

  `strHistoricoacoesTipo` ENUM('gravacao','edicao','exclusao') NOT NULL,

  `strHistoricoacoesAcao` VARCHAR(255) NOT NULL,

  `tHistoricoacoesDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intHistoricoacoesID`),

  INDEX `fk_historicoacoes_idx` (`strHistoricoacoesChaveAdministrador` ASC),

  CONSTRAINT `fk_historicoacoes`

    FOREIGN KEY (`strHistoricoacoesChaveAdministrador`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}administradores` (`strAdministradorChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar ações que cada usuario realiza';





-- -----------------------------------------------------

-- Tabela `historicologin`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}historicologin` (

  `intHistoricologinID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strHistoricologinChave` CHAR(8) NOT NULL,

  `strHistoricologinChaveAdministrador` CHAR(8) NOT NULL,

  `intHistoricologinChaveConta` INT(8) NOT NULL,

  `strHistoricologinIP` VARCHAR(20) NOT NULL,

  `tHistoricologinData` DATETIME NOT NULL,

  `tHistoricologinDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intHistoricologinID`),

  INDEX `fk_historicologin_administradores_idx` (`strHistoricologinChaveAdministrador` ASC),

  CONSTRAINT `fk_historicologin_administradores`

    FOREIGN KEY (`strHistoricologinChaveAdministrador`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}administradores` (`strAdministradorChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar logins realizados pelos usuarios';





-- -----------------------------------------------------

-- Tabela `paginas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}paginas` (

  `intPaginaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPaginaChave` CHAR(8) NOT NULL,

  `strPaginaStatus` ENUM('inativo','ativo') NOT NULL DEFAULT 'ativo',

  `strPaginaTitulo` VARCHAR(100) NOT NULL,

  `strPaginaSlug` VARCHAR(100) NOT NULL,

  `strPaginaUrl` VARCHAR(255) NULL DEFAULT NULL,

  `strPaginaAlvo` ENUM('_blank','_self') NULL DEFAULT '_self',

  `intPaginaOrdem` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',

  `strPaginaConteudo` TEXT NOT NULL,

  `tPaginaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPaginaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Armazena as paginas criadas pelo usuario';





-- -----------------------------------------------------

-- Tabela `planos`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planos` (

  `intPlanoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPlanoChave` CHAR(8) NOT NULL,

  `strPlanoStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strPlanoTipo` ENUM('gratuito','pago') NOT NULL DEFAULT 'gratuito',

  `strPlanoNome` VARCHAR(100) NOT NULL,

  `strPlanoSetor` ENUM('anuncio','publicidade') NOT NULL,

  `intPlanoPermImagens` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,

  `intPlanoQimagens` TINYINT(1) UNSIGNED NOT NULL DEFAULT 6 COMMENT 'Coluna usada para armazenar a quantidade de imagens permitidas em um plano.',

  `intPlanoValor` DECIMAL(10,2) NOT NULL DEFAULT '0.00',

  `intPlanoDuracao` INT(3) NOT NULL,

  `tPlanoUltAlteracao` DATETIME NULL,

  `tPlanoDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoID`),

  INDEX `fk_planos_idx` (`strPlanoChave` ASC))

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para cadastrar os planos';





-- -----------------------------------------------------

-- Tabela `publicidade`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}publicidade` (

  `intPubID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strPubChave` CHAR(8) NOT NULL,

  `strPubUserChave` CHAR(8) NULL,

  `strPubOrigem` ENUM('user','adm') NOT NULL DEFAULT 'user',

  `strPubTitulo` VARCHAR(100) NOT NULL,

  `strPubStatus` ENUM('ativo','inativo') NOT NULL DEFAULT 'ativo',

  `strPubLink` VARCHAR(255) NOT NULL,

  `strPubTarget` ENUM('_blank','_self') NULL DEFAULT NULL,

  `strPubTamanho` ENUM('destaque','banner') NOT NULL,

  `strPubImagem` VARCHAR(20) NOT NULL,

  `tPubDataExpiracao` DATETIME NOT NULL,

  `tPubUltAlteracao` DATETIME NULL DEFAULT NULL,

  `tPubDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPubID`),

  INDEX `fk_publicidade_usuarios_idx` (`strPubUserChave` ASC),

  INDEX `fk_publicidade_idx` (`strPubChave` ASC),

  CONSTRAINT `fk_publicidade_usuarios`

    FOREIGN KEY (`strPubUserChave`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar dados publicidade';





-- -----------------------------------------------------

-- Tabela `recuperacaosenha`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}recuperacaosenha` (

  `intRsID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strRsChaveAdministrador` CHAR(8) NOT NULL,

  `intRsTentativas` INT(3) NOT NULL DEFAULT '1',

  `strRsToken` VARCHAR(64) NOT NULL,

  `tRsValidade` DATETIME NOT NULL,

  `tRsDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intRsID`),

  INDEX `fk_recuperacaosenha_administradores_idx` (`strRsChaveAdministrador` ASC),

  CONSTRAINT `fk_recuperacaosenha_administradores`

    FOREIGN KEY (`strRsChaveAdministrador`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}administradores` (`strAdministradorChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar as requisições de recuperação de senha';





-- -----------------------------------------------------

-- Tabela `taxarejeicao`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}taxarejeicao` (

  `intTaxaRejeicaoID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strTaxaRejeicaoChave` CHAR(8) NOT NULL,

  `intTaxaRejeicaoQuantidade` INT(11) NOT NULL,

  `tTaxaRejeicaoDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intTaxaRejeicaoID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar quantidade de taxa de rejeicao';





-- -----------------------------------------------------

-- Tabela `tentativaslogin`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}tentativaslogin` (

  `intTentativaloginID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strTentativaloginIP` VARCHAR(20) NOT NULL,

  `intTentativaloginQuantidade` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',

  `tTentativaloginDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intTentativaloginID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar as tentativas de login';





-- -----------------------------------------------------

-- Tabela `visitasunicas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}visitasunicas` (

  `intVisitaUnicaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strVisitaUnicaChave` CHAR(8) NOT NULL,

  `intVisitaUnicaQuantidade` INT(11) NOT NULL,

  `tVisitaUnicaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intVisitaUnicaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela utilizada para armazenar quantidade de visitantes unicos';





-- -----------------------------------------------------

-- Tabela `visualizacoespagina`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}visualizacoespagina` (

  `intViPaginaID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `strViPaginaChave` CHAR(8) NOT NULL,

  `intViPaginaQuantidade` INT(11) NOT NULL,

  `tViPaginaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intViPaginaID`))

ENGINE = MyISAM

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

COMMENT = 'Tabela usada para armazenar a quantidade de pageviews do site';





-- -----------------------------------------------------

-- Tabela `planosempresas`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planosempresas` (

  `intPlanoEmpresaID` INT(11) NOT NULL AUTO_INCREMENT,

  `strPlanoEmpresaChave` CHAR(8) NOT NULL,

  `strPlanoEmpresaChaveEmpresa` CHAR(8) NOT NULL,

  `strPlanoEmpresaChavePlano` CHAR(8) NOT NULL,

  `strPlanoEmpresaTipo` ENUM('gratuito','pago') NOT NULL,

  `strPlanoEmpresaNome` VARCHAR(100) NOT NULL,

  `strPlanoEmpresaValor` DECIMAL(10,2) NOT NULL,

  `intPlanoEmpresaDuracao` INT(3) NOT NULL,

  `tPlanoEmpresaDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoEmpresaID`),

  INDEX `fk_planosempresa_empresas_idx` (`strPlanoEmpresaChaveEmpresa` ASC),

  INDEX `fk_planosempresa_planos_idx` (`strPlanoEmpresaChavePlano` ASC),

  CONSTRAINT `fk_planosempresa_empresas`

    FOREIGN KEY (`strPlanoEmpresaChaveEmpresa`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_planosempresa_planos`

    FOREIGN KEY (`strPlanoEmpresaChavePlano`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}planos` (`strPlanoChave`)

    ON DELETE RESTRICT

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;





-- -----------------------------------------------------

-- Tabela `planospublicidade`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}planospublicidade` (

  `intPlanoPubID` INT(11) NOT NULL AUTO_INCREMENT,

  `strPlanoPubChave` CHAR(8) NOT NULL,

  `strPlanoPubChavePublicidade` CHAR(8) NOT NULL,

  `strPlanoPubChavePlano` CHAR(8) NOT NULL,

  `strPlanoPubTipo` ENUM('gratuito','pago') NOT NULL,

  `strPlanoPubNome` VARCHAR(100) NOT NULL,

  `strPlanoPubValor` DECIMAL(10,2) NOT NULL,

  `strPlanoPubDuracao` INT(3) NOT NULL,

  `strPlanoPubDataCadastro` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`intPlanoPubID`),

  INDEX `fk_planospublicidade_publicidade_idx` (`strPlanoPubChavePublicidade` ASC),

  CONSTRAINT `fk_planospublicidade_publicidade`

    FOREIGN KEY (`strPlanoPubChavePublicidade`)

    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}publicidade` (`strPubChave`)

    ON DELETE CASCADE

    ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci;



-- -----------------------------------------------------
-- Table `organygu_teste`.`mensagens`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `{BANCO}`.`{PREFIXO_TABELA}mensagens` (
  `intMsgID` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `strMsgChave` CHAR(8) NOT NULL,
  `strMsgStatus` ENUM('naolida','lida') NULL DEFAULT 'naolida',
  `strMsgChaveUsuario` CHAR(8) NULL,
  `strMsgChaveEmpresa` CHAR(8) NOT NULL,
  `strMsgNome` VARCHAR(45) NOT NULL,
  `strMsgEmail` VARCHAR(100) NOT NULL,
  `strMsgTel` VARCHAR(16) NOT NULL,
  `strMsgAssunto` VARCHAR(45) NOT NULL,
  `strMsgTexto` TEXT NOT NULL,
  `strMsgDataCadastro` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`intMsgID`),
  INDEX `ce_mensagens_usuarios_idx` (`strMsgChaveUsuario` ASC),
  INDEX `ce_mensagens_empresas_idx` (`strMsgChaveEmpresa` ASC),
  CONSTRAINT `ce_mensagens_usuarios`
    FOREIGN KEY (`strMsgChaveUsuario`)
    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}usuarios` (`strUsuarioChave`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `ce_mensagens_empresas`
    FOREIGN KEY (`strMsgChaveEmpresa`)
    REFERENCES `{BANCO}`.`{PREFIXO_TABELA}empresas` (`strEmpresaChave`)
    ON DELETE CASCADE
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COMMENT = 'Tabela utilizada para armazenar as mensagens do usuario';