CREATE DATABASE IF NOT EXISTS creditos_timestamp
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

USE creditos_timestamp;

CREATE TABLE IF NOT EXISTS companies (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(150) NOT NULL,
    code VARCHAR(80) NOT NULL UNIQUE,
    active TINYINT(1) NOT NULL DEFAULT 1,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS users (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    company_id BIGINT UNSIGNED NOT NULL,
    email VARCHAR(190) NOT NULL UNIQUE,
    password_hash VARCHAR(255) NOT NULL,
    name VARCHAR(150) NOT NULL,
    active TINYINT(1) NOT NULL DEFAULT 1,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    last_login_at TIMESTAMP NULL DEFAULT NULL,
    CONSTRAINT fk_users_company
      FOREIGN KEY (company_id) REFERENCES companies(id)
      ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB;

INSERT INTO companies (name, code, active)
SELECT 'Empresa Demo', 'EMPRESA_1', 1
WHERE NOT EXISTS (SELECT 1 FROM companies WHERE code = 'EMPRESA_1');

-- El usuario se crea con database/create_user.php.
