UPDATE plans SET price=0,analysis_limit=1 WHERE name='Grátis';
UPDATE plans SET price=49,analysis_limit=5 WHERE name='Start';
UPDATE plans SET price=249 WHERE name='Pro';
UPDATE plans SET price=499 WHERE name='Business';
CREATE TABLE IF NOT EXISTS billing_payments (
  id CHAR(36) PRIMARY KEY,
  company_id BIGINT UNSIGNED NOT NULL,
  user_id BIGINT UNSIGNED NOT NULL,
  plan VARCHAR(30) NOT NULL,
  amount_cents INT UNSIGNED NOT NULL,
  payer JSON NOT NULL,
  status VARCHAR(30) NOT NULL DEFAULT 'creating',
  provider_id VARCHAR(80) UNIQUE,
  qr_code TEXT,
  qr_base64 MEDIUMTEXT,
  expires_at DATETIME NOT NULL,
  activated_at DATETIME,
  activated_until DATETIME,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  INDEX billing_company (company_id,created_at),
  FOREIGN KEY (company_id) REFERENCES companies(id),
  FOREIGN KEY (user_id) REFERENCES users(id),
  FOREIGN KEY (plan) REFERENCES plans(name)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS billing_accounts (
  company_id BIGINT UNSIGNED PRIMARY KEY,
  managed BOOLEAN NOT NULL DEFAULT TRUE,
  current_payment CHAR(36),
  expires_at DATETIME,
  FOREIGN KEY (company_id) REFERENCES companies(id),
  FOREIGN KEY (current_payment) REFERENCES billing_payments(id)
) ENGINE=InnoDB;
