-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 02/02/2025 às 19:06
-- Versão do servidor: 10.4.32-MariaDB
-- Versão do PHP: 8.1.25

START TRANSACTION;



--
-- Banco de dados: `livrocaixa`
--

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

--
-- Estrutura para tabela `formas_pagamento`
--

CREATE TABLE `formas_pagamento` (
  `id_forma_pagamento` int(11) NOT NULL,
  `descricao` varchar(255) NOT NULL,
  `ativo` tinyint(1) DEFAULT 1,
  `user_id` int(11) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `formas_pagamento`
--

INSERT INTO `formas_pagamento` (`id_forma_pagamento`, `descricao`, `ativo`, `user_id`, `created_at`) VALUES
(6, 'Dinheiro', 1, 2, '2025-01-31 04:07:52'),
(7, 'Pix', 1, 2, '2025-01-31 04:07:52'),
(8, 'Cartão de Crédito', 1, 2, '2025-01-31 04:07:52'),
(9, 'Cartão de Débito', 1, 2, '2025-01-31 04:07:52'),
(10, 'Vale', 1, 2, '2025-01-31 04:07:52');

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

--
-- Estrutura para tabela `plano_contas`
--

CREATE TABLE `plano_contas` (
  `id_plano_conta` int(11) NOT NULL,
  `descricao` varchar(255) NOT NULL,
  `tipo` enum('Receitas','Despesas') NOT NULL,
  `user_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estrutura para tabela `transactions`
--

CREATE TABLE `transactions` (
  `id_lancamento` int(11) NOT NULL,
  `data` date NOT NULL,
  `descricao` text NOT NULL,
  `categoria` enum('Receitas','Despesas') NOT NULL,
  `forma_pagamento_id` int(11) NOT NULL,
  `receita` decimal(10,2) NOT NULL,
  `entrada` decimal(10,2) DEFAULT 0.00,
  `saida` decimal(10,2) DEFAULT 0.00,
  `observacao` text DEFAULT NULL,
  `user_id` int(11) NOT NULL,
  `plano_conta_id` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `transactions`
--

INSERT INTO `transactions` (`id_lancamento`, `data`, `descricao`, `categoria`, `forma_pagamento_id`, `receita`, `entrada`, `saida`, `observacao`, `user_id`, `plano_conta_id`, `created_at`) VALUES
(1, '2025-01-01', 'VENDAS DIVERSAS', '', 8, 235.00, 235.00, 0.00, '', 2, NULL, '2025-01-31 06:37:45'),
(2, '2025-02-01', 'VENDAS', '', 9, 0.00, 150.00, 0.00, '', 2, NULL, '2025-02-01 18:17:49'),
(3, '2025-02-01', 'VENDAS', '', 6, 0.00, 50.00, 0.00, '', 2, NULL, '2025-02-01 18:18:58'),
(4, '2025-02-01', 'VENDAS', '', 7, 0.00, 100.00, 0.00, '', 2, NULL, '2025-02-01 18:19:15'),
(5, '2025-02-01', 'Pagamento de funcionarios', '', 7, 0.00, 0.00, 1580.00, '', 2, NULL, '2025-02-01 20:22:56'),
(6, '2025-02-01', 'AJUSTE DE CAIXA', '', 6, 0.00, 1280.00, 0.00, '', 2, NULL, '2025-02-01 21:59:38');

--
-- Acionadores `users`
--
DELIMITER $$
END
$$
DELIMITER ;

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `formas_pagamento`
--
ALTER TABLE `formas_pagamento`
  ADD PRIMARY KEY (`id_forma_pagamento`),
  ADD KEY `user_id` (`user_id`);

--
-- Índices de tabela `plano_contas`
--
ALTER TABLE `plano_contas`
  ADD PRIMARY KEY (`id_plano_conta`),
  ADD KEY `user_id` (`user_id`);

--
-- Índices de tabela `transactions`
--
ALTER TABLE `transactions`
  ADD PRIMARY KEY (`id_lancamento`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `forma_pagamento_id` (`forma_pagamento_id`),
  ADD KEY `plano_conta_id` (`plano_conta_id`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `formas_pagamento`
--
ALTER TABLE `formas_pagamento`
  MODIFY `id_forma_pagamento` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT de tabela `plano_contas`
--
ALTER TABLE `plano_contas`
  MODIFY `id_plano_conta` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de tabela `transactions`
--
ALTER TABLE `transactions`
  MODIFY `id_lancamento` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `formas_pagamento`
--
ALTER TABLE `formas_pagamento`
  ADD CONSTRAINT `formas_pagamento_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id_user`) ON DELETE CASCADE;

--
-- Restrições para tabelas `plano_contas`
--
ALTER TABLE `plano_contas`
  ADD CONSTRAINT `plano_contas_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id_user`) ON DELETE CASCADE;

--
-- Restrições para tabelas `transactions`
--
ALTER TABLE `transactions`
  ADD CONSTRAINT `transactions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id_user`) ON DELETE CASCADE,
  ADD CONSTRAINT `transactions_ibfk_2` FOREIGN KEY (`forma_pagamento_id`) REFERENCES `formas_pagamento` (`id_forma_pagamento`),
  ADD CONSTRAINT `transactions_ibfk_3` FOREIGN KEY (`plano_conta_id`) REFERENCES `plano_contas` (`id_plano_conta`) ON DELETE SET NULL;
COMMIT;

