-- MySQL Script generated by MySQL Workbench
-- Tue Jul 21 13:48:51 2026
-- Model: New Model    Version: 1.0
-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

-- -----------------------------------------------------
-- Schema slypig
-- -----------------------------------------------------

-- -----------------------------------------------------
-- Schema slypig
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `slypig` DEFAULT CHARACTER SET utf8 ;
USE `slypig` ;

-- -----------------------------------------------------
-- Table `slypig`.`companyType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`companyType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`language`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`language` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `isoCode` VARCHAR(3) NULL,
  `isoCode3` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`currency`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`currency` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `isoCode` VARCHAR(3) NULL,
  `symbol` VARCHAR(3) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`businessUnit`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`businessUnit` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`company`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`company` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyTypeId` VARCHAR(36) NULL,
  `languageId` VARCHAR(36) NULL,
  `currencyId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `fantasyName` VARCHAR(450) NULL,
  `cpfCnpj` VARCHAR(18) NULL,
  `rgStateRegistration` VARCHAR(18) NULL,
  `municipalRegistration` VARCHAR(18) NULL,
  `ruralRegistration` VARCHAR(18) NULL,
  `businessUnitId` VARCHAR(36) NULL,
  `website` VARCHAR(450) NULL,
  `otherInformation` TEXT NULL,
  `numberCompany` VARCHAR(7) NULL,
  `numberSubsidiary` VARCHAR(7) NULL,
  `mainCompany` TINYINT(1) NULL,
  `subsidiaryCompany` TINYINT(1) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_company_companyType_idx` (`companyTypeId` ASC) VISIBLE,
  INDEX `fk_company_language_idx` (`languageId` ASC) VISIBLE,
  INDEX `fk_company_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_company_businessUnit_idx` (`businessUnitId` ASC) VISIBLE,
  CONSTRAINT `fk_company_companyType`
    FOREIGN KEY (`companyTypeId`)
    REFERENCES `slypig`.`companyType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_company_language`
    FOREIGN KEY (`languageId`)
    REFERENCES `slypig`.`language` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_company_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_company_businessUnit`
    FOREIGN KEY (`businessUnitId`)
    REFERENCES `slypig`.`businessUnit` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`currencyQuote`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`currencyQuote` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `currencyId` VARCHAR(36) NULL,
  `currencyValue` DECIMAL(18,6) NULL,
  `currencyReferenceId` VARCHAR(36) NULL,
  `currencyReferenceValue` DECIMAL(18,6) NULL,
  `dateQuote` DATETIME NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_currency_currencyQuote_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_currency_currencyQuote_reference_idx` (`currencyReferenceId` ASC) VISIBLE,
  CONSTRAINT `fk_currency_currencyQuote`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_currency_currencyQuote_reference`
    FOREIGN KEY (`currencyReferenceId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`addressType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`addressType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`continent`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`continent` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`country`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`country` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `isoCode` VARCHAR(3) NULL,
  `isoCode3` VARCHAR(8) NULL,
  `isoNumeric` VARCHAR(8) NULL,
  `phoneCode` VARCHAR(3) NULL,
  `continentId` VARCHAR(36) NULL,
  `currencyId` VARCHAR(36) NULL,
  `languageId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_country_continent_idx` (`continentId` ASC) VISIBLE,
  INDEX `fk_country_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_country_language_idx` (`languageId` ASC) VISIBLE,
  CONSTRAINT `fk_country_continent`
    FOREIGN KEY (`continentId`)
    REFERENCES `slypig`.`continent` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_country_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_country_language`
    FOREIGN KEY (`languageId`)
    REFERENCES `slypig`.`language` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`state`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`state` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `countryId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `isoCode` VARCHAR(3) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_state_country_idx` (`countryId` ASC) VISIBLE,
  CONSTRAINT `fk_state_country`
    FOREIGN KEY (`countryId`)
    REFERENCES `slypig`.`country` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`city`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`city` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `stateId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `zipCode` VARCHAR(8) NULL,
  `latitude` DECIMAL(10,2) NULL,
  `longitude` DECIMAL(10,2) NULL,
  `altitude` DECIMAL(10,2) NULL,
  `timezone` VARCHAR(450) NULL,
  `phoneCode` VARCHAR(3) NULL,
  `flgCapital` TINYINT(1) NULL,
  `flgMetropolitanRegion` TINYINT(1) NULL,
  `IBGECode` VARCHAR(7) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_city_state_idx` (`stateId` ASC) VISIBLE,
  CONSTRAINT `fk_city_state`
    FOREIGN KEY (`stateId`)
    REFERENCES `slypig`.`state` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`customerType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`customerType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  `color` VARCHAR(7) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`personType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`personType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  `color` VARCHAR(7) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`gender`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`gender` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`customer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`customer` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `personTypeId` VARCHAR(36) NULL,
  `customerTypeId` VARCHAR(36) NULL,
  `companyName` VARCHAR(450) NULL,
  `fantasyName` VARCHAR(450) NULL,
  `cpfCnpj` VARCHAR(18) NULL,
  `rgStateRegistration` VARCHAR(18) NULL,
  `municipalRegistration` VARCHAR(18) NULL,
  `ruralRegistration` VARCHAR(18) NULL,
  `otherInformation` TEXT NULL,
  `birthDate` DATE NULL,
  `genderId` VARCHAR(36) NULL,
  `site` VARCHAR(450) NULL,
  `referenceIndication` VARCHAR(450) NULL,
  `currencyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_customer_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_customer_customerType_idx` (`customerTypeId` ASC) VISIBLE,
  INDEX `fk_customer_personType_idx` (`personTypeId` ASC) VISIBLE,
  INDEX `fk_customer_gender_idx` (`genderId` ASC) VISIBLE,
  CONSTRAINT `fk_customer_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_customer_customerType`
    FOREIGN KEY (`customerTypeId`)
    REFERENCES `slypig`.`customerType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_customer_personType`
    FOREIGN KEY (`personTypeId`)
    REFERENCES `slypig`.`personType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_customer_gender`
    FOREIGN KEY (`genderId`)
    REFERENCES `slypig`.`gender` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`contactType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`contactType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`supplier`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`supplier` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `personTypeId` VARCHAR(36) NULL,
  `companyName` VARCHAR(450) NULL,
  `fantasyName` VARCHAR(450) NULL,
  `cpfCnpj` VARCHAR(18) NULL,
  `rgStateRegistration` VARCHAR(18) NULL,
  `municipalRegistration` VARCHAR(18) NULL,
  `ruralRegistration` VARCHAR(18) NULL,
  `otherInformation` TEXT NULL,
  `birthDate` DATE NULL,
  `genderId` VARCHAR(36) NULL,
  `site` VARCHAR(450) NULL,
  `referenceIndication` VARCHAR(450) NULL,
  `currencyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_customer_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_customer_personType_idx` (`personTypeId` ASC) VISIBLE,
  INDEX `fk_customer_gender_idx` (`genderId` ASC) VISIBLE,
  CONSTRAINT `fk_supplier_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_supplier_personType`
    FOREIGN KEY (`personTypeId`)
    REFERENCES `slypig`.`personType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_supplier_gender`
    FOREIGN KEY (`genderId`)
    REFERENCES `slypig`.`gender` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`contact`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`contact` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `contactTypeId` VARCHAR(36) NULL,
  `fantasyName` VARCHAR(450) NULL,
  `companyName` VARCHAR(450) NULL,
  `cpfCnpj` VARCHAR(45) NULL,
  `rgStateRegistration` VARCHAR(45) NULL,
  `birthday` DATE NULL,
  `jobPosition` VARCHAR(450) NULL,
  `otherInformation` TEXT NULL,
  `supplierId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_customerContact_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_contact_contactType_idx` (`contactTypeId` ASC) VISIBLE,
  INDEX `fk_contact_supplier_idx` (`supplierId` ASC) VISIBLE,
  CONSTRAINT `fk_contact_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_contact_contactType`
    FOREIGN KEY (`contactTypeId`)
    REFERENCES `slypig`.`contactType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_contact_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`address`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`address` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `addressTypeId` VARCHAR(36) NULL,
  `zipCode` VARCHAR(8) NULL,
  `continentId` VARCHAR(36) NULL,
  `countryId` VARCHAR(36) NULL,
  `stateId` VARCHAR(36) NULL,
  `cityId` VARCHAR(36) NULL,
  `neighborhood` VARCHAR(450) NULL,
  `street` VARCHAR(4500) NULL,
  `number` VARCHAR(15) NULL,
  `complement` VARCHAR(450) NULL,
  `latitude` DECIMAL(10,2) NULL,
  `longitude` DECIMAL(10,2) NULL,
  `altitude` DECIMAL(10,2) NULL,
  `companyId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `contactId` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_address_addressType_idx` (`addressTypeId` ASC) VISIBLE,
  INDEX `fk_address_continent_idx` (`continentId` ASC) VISIBLE,
  INDEX `fk_address_country_idx` (`countryId` ASC) VISIBLE,
  INDEX `fk_address_state_idx` (`stateId` ASC) VISIBLE,
  INDEX `fk_address_city_idx` (`cityId` ASC) VISIBLE,
  INDEX `fk_address_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_address_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_address_customerContact_idx` (`contactId` ASC) VISIBLE,
  INDEX `fk_address_supplier_idx` (`supplierId` ASC) VISIBLE,
  CONSTRAINT `fk_address_addressType`
    FOREIGN KEY (`addressTypeId`)
    REFERENCES `slypig`.`addressType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_continent`
    FOREIGN KEY (`continentId`)
    REFERENCES `slypig`.`continent` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_country`
    FOREIGN KEY (`countryId`)
    REFERENCES `slypig`.`country` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_state`
    FOREIGN KEY (`stateId`)
    REFERENCES `slypig`.`state` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_city`
    FOREIGN KEY (`cityId`)
    REFERENCES `slypig`.`city` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_contact`
    FOREIGN KEY (`contactId`)
    REFERENCES `slypig`.`contact` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_address_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`phoneType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`phoneType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`phone`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`phone` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `contactId` VARCHAR(36) NULL,
  `phoneTypeId` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  `phone` VARCHAR(15) NULL,
  `extension` VARCHAR(7) NULL,
  `flgWhatsapp` TINYINT(1) NULL,
  `flgTelegram` TINYINT(1) NULL,
  `flgFacetime` TINYINT(1) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_phone_phoneType_idx` (`phoneTypeId` ASC) VISIBLE,
  INDEX `fk_phone_ company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_phone_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_phone_customerContact_idx` (`contactId` ASC) VISIBLE,
  INDEX `fk_phone_supplier_idx` (`supplierId` ASC) VISIBLE,
  CONSTRAINT `fk_phone_phoneType`
    FOREIGN KEY (`phoneTypeId`)
    REFERENCES `slypig`.`phoneType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_phone_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_phone_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_phone_contact`
    FOREIGN KEY (`contactId`)
    REFERENCES `slypig`.`contact` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_phone_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`emailType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`emailType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`email`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`email` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `contactId` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  `emailTypeId` VARCHAR(36) NULL,
  `email` VARCHAR(450) NULL,
  `flgFacetime` TINYINT(1) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_email_emailType_idx` (`emailTypeId` ASC) VISIBLE,
  INDEX `fk_email_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_email_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_email_customerContact_idx` (`contactId` ASC) VISIBLE,
  INDEX `fk_email_supplier_idx` (`supplierId` ASC) VISIBLE,
  CONSTRAINT `fk_email_emailType`
    FOREIGN KEY (`emailTypeId`)
    REFERENCES `slypig`.`emailType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_email_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_email_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_email_contact`
    FOREIGN KEY (`contactId`)
    REFERENCES `slypig`.`contact` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_email_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`dateFormat`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`dateFormat` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `format` VARCHAR(45) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`dateSeparator`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`dateSeparator` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `separator` VARCHAR(1) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`timeZone`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`timeZone` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `timezoneCode` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`percentPosition`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`percentPosition` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`discountLocation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`discountLocation` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`indicateFiscalYear`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`indicateFiscalYear` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `abbreviation` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`itemType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`itemCategory`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemCategory` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemTypeId` VARCHAR(36) NULL,
  `itemCategoryId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `slug` VARCHAR(450) NULL,
  `smallDesc` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_itemCategory_itemCategory_idx` (`itemCategoryId` ASC) VISIBLE,
  INDEX `fk_itemCategory_itemType_idx` (`itemTypeId` ASC) VISIBLE,
  CONSTRAINT `fk_itemCategory_itemCategory`
    FOREIGN KEY (`itemCategoryId`)
    REFERENCES `slypig`.`itemCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_itemCategory_itemType`
    FOREIGN KEY (`itemTypeId`)
    REFERENCES `slypig`.`itemType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemBrand`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemBrand` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`itemModel`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemModel` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`unitMeasure`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`unitMeasure` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`dimensionUnitMeasure`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`dimensionUnitMeasure` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `height` FLOAT(10,2) NULL,
  `width` FLOAT(10,2) NULL,
  `length` FLOAT(10,2) NULL,
  `weight` FLOAT(10,2) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`unitMeasureCubage`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`unitMeasureCubage` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`itemCompound`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemCompound` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(45) NULL,
  `descr` VARCHAR(45) NULL,
  `referenceCode` VARCHAR(45) NULL,
  `ncm` VARCHAR(45) NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`item`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`item` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemCategoryId` VARCHAR(36) NULL,
  `itemBrandId` VARCHAR(36) NULL,
  `itemModelId` VARCHAR(36) NULL,
  `itemTypeId` VARCHAR(36) NULL,
  `referenceCode` VARCHAR(127) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `ncm` VARCHAR(8) NULL,
  `daysDispatch` VARCHAR(11) NULL,
  `unitMeasureId` VARCHAR(36) NULL,
  `dimensionUnitMeasureId` VARCHAR(36) NULL,
  `weight` FLOAT(10,2) NULL,
  `height` FLOAT(10,2) NULL,
  `width` FLOAT(10,2) NULL,
  `unitMeasureCubageId` VARCHAR(36) NULL,
  `cubage` FLOAT(10,2) NULL,
  `stock` INT(11) NULL,
  `slug` VARCHAR(450) NULL,
  `ean` VARCHAR(13) NULL,
  `length` FLOAT(10,2) NULL,
  `itemCompoundId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_item_itemCategory_idx` (`itemCategoryId` ASC) VISIBLE,
  INDEX `fk_item_itemBrand_idx` (`itemBrandId` ASC) VISIBLE,
  INDEX `fk_item_itemType_idx` (`itemTypeId` ASC) VISIBLE,
  INDEX `fk_item_itemModel_idx` (`itemModelId` ASC) VISIBLE,
  INDEX `fk_item_unitMeasure_idx` (`unitMeasureId` ASC) VISIBLE,
  INDEX `fk_item_dimensionUnitMeasure_idx` (`dimensionUnitMeasureId` ASC) VISIBLE,
  INDEX `fk_item_unitMeasureCubage_idx` (`unitMeasureCubageId` ASC) VISIBLE,
  INDEX `fk_item_itemCompound_idx` (`itemCompoundId` ASC) VISIBLE,
  CONSTRAINT `fk_item_itemCategory`
    FOREIGN KEY (`itemCategoryId`)
    REFERENCES `slypig`.`itemCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_itemBrand`
    FOREIGN KEY (`itemBrandId`)
    REFERENCES `slypig`.`itemBrand` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_itemModel`
    FOREIGN KEY (`itemModelId`)
    REFERENCES `slypig`.`itemModel` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_itemType`
    FOREIGN KEY (`itemTypeId`)
    REFERENCES `slypig`.`itemType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_unitMeasure`
    FOREIGN KEY (`unitMeasureId`)
    REFERENCES `slypig`.`unitMeasure` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_dimensionUnitMeasure`
    FOREIGN KEY (`dimensionUnitMeasureId`)
    REFERENCES `slypig`.`dimensionUnitMeasure` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_unitMeasureCubage`
    FOREIGN KEY (`unitMeasureCubageId`)
    REFERENCES `slypig`.`unitMeasureCubage` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_item_itemCompound`
    FOREIGN KEY (`itemCompoundId`)
    REFERENCES `slypig`.`itemCompound` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemFeatures`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemFeatures` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `datail` VARCHAR(450) NULL,
  `name` VARCHAR(450) NULL,
  `value` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_itemFeatures_item_idx` (`itemId` ASC) VISIBLE,
  CONSTRAINT `fk_itemFeatures_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemCost`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemCost` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `value` DECIMAL(18,6) NULL,
  `initialDate` DATE NULL,
  `finalDate` DATE NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_itemCost_item_idx` (`itemId` ASC) VISIBLE,
  CONSTRAINT `fk_itemCost_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemStock`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemStock` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `proprietaryCode` VARCHAR(45) NULL,
  `proprietaryName` VARCHAR(450) NULL,
  `establishmentCode` VARCHAR(45) NULL,
  `establishmentName` VARCHAR(450) NULL,
  `quantityAvailable` FLOAT(18,6) NULL,
  `quantityPhysical` FLOAT(18,6) NULL,
  `quantityReserved` FLOAT(18,6) NULL,
  `stockUpdateDate` DATETIME NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_itemStock_item_idx` (`itemId` ASC) VISIBLE,
  INDEX `fk_itemStock_company_idx` (`companyId` ASC) VISIBLE,
  CONSTRAINT `fk_itemStock_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_itemStock_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemCompoundItem`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemCompoundItem` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `itemCompoundId` VARCHAR(36) NULL,
  `quantity` INT(11) NULL,
  `sequence` INT(11) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_itemCompoundItem_item_idx` (`itemId` ASC) VISIBLE,
  INDEX `fk_itemCompoundItem_itemCompound_idx` (`itemCompoundId` ASC) VISIBLE,
  CONSTRAINT `fk_itemCompoundItem_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_itemCompoundItem_itemCompound`
    FOREIGN KEY (`itemCompoundId`)
    REFERENCES `slypig`.`itemCompound` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`itemOptionalType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemOptionalType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`itemOptional`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`itemOptional` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemOptionalTypeId` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `itemOptionalId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_itemOptional_item_idx` (`itemId` ASC) VISIBLE,
  INDEX `fk_itemOptional_itemOptional_idx` (`itemOptionalId` ASC) VISIBLE,
  INDEX `fk_itemOptional_itemOptionalType_idx` (`itemOptionalTypeId` ASC) VISIBLE,
  CONSTRAINT `fk_itemOptional_itemOptionalType`
    FOREIGN KEY (`itemOptionalTypeId`)
    REFERENCES `slypig`.`itemOptionalType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_itemOptional_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_itemOptional_itemOptional`
    FOREIGN KEY (`itemOptionalId`)
    REFERENCES `slypig`.`itemOptional` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`natureOperationType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`natureOperationType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`natureOperation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`natureOperation` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(45) NULL,
  `descr` VARCHAR(45) NULL,
  `cfop` VARCHAR(45) NULL,
  `fiscalApplicationCode` INT(5) NULL,
  `fiscalApplicationDescr` VARCHAR(450) NULL,
  `flgBonus` TINYINT(1) NULL,
  `orderMostUsed` INT(2) NULL,
  `flgShipping` TINYINT(1) NULL,
  `flgDivergence` TINYINT(1) NULL,
  `flgExchange` TINYINT(1) NULL,
  `natureOperationTypeId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_natureOperation_natureOperationType_idx` (`natureOperationTypeId` ASC) VISIBLE,
  CONSTRAINT `fk_natureOperation_natureOperationType`
    FOREIGN KEY (`natureOperationTypeId`)
    REFERENCES `slypig`.`natureOperationType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`taxRegime`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`taxRegime` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`automaticNatureOperation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`automaticNatureOperation` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `countryId` VARCHAR(36) NULL,
  `stateId` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `itemCategoryId` VARCHAR(36) NULL,
  `natureOperationId` VARCHAR(36) NULL,
  `taxRegimeId` VARCHAR(36) NULL,
  `personTypeId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_country_idx` (`countryId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_state_idx` (`stateId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_item_idx` (`itemId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_itemCategory_idx` (`itemCategoryId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_natureOperation_idx` (`natureOperationId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_taxRegime_idx` (`taxRegimeId` ASC) VISIBLE,
  INDEX `fk_automaticNatureOperation_personType_idx` (`personTypeId` ASC) VISIBLE,
  CONSTRAINT `fk_automaticNatureOperation_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_country`
    FOREIGN KEY (`countryId`)
    REFERENCES `slypig`.`country` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_state`
    FOREIGN KEY (`stateId`)
    REFERENCES `slypig`.`state` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_item`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_itemCategory`
    FOREIGN KEY (`itemCategoryId`)
    REFERENCES `slypig`.`itemCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_natureOperation`
    FOREIGN KEY (`natureOperationId`)
    REFERENCES `slypig`.`natureOperation` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_taxRegime`
    FOREIGN KEY (`taxRegimeId`)
    REFERENCES `slypig`.`taxRegime` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_automaticNatureOperation_personType`
    FOREIGN KEY (`personTypeId`)
    REFERENCES `slypig`.`personType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`tax`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`tax` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `acronym` VARCHAR(8) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`cnae`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`cnae` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `cnaeCode` VARCHAR(15) NULL,
  `name` VARCHAR(450) NULL,
  `anexo` VARCHAR(45) NULL,
  `descrição` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`cnaeCompany`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`cnaeCompany` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `cnaeId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `aliquota` FLOAT(10,2) NULL,
  `anexo` VARCHAR(45) NULL,
  `mainCnae` TINYINT(1) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_cnaeCompany_cnae_idx` (`cnaeId` ASC) VISIBLE,
  INDEX `fk_cnaeCompany_company_idx` (`companyId` ASC) VISIBLE,
  CONSTRAINT `fk_cnaeCompany_cnae`
    FOREIGN KEY (`cnaeId`)
    REFERENCES `slypig`.`cnae` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_cnaeCompany_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`taxation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`taxation` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `taxId` VARCHAR(36) NULL,
  `startDate` DATE NULL,
  `endDate` DATE NULL,
  `descr` TEXT NULL,
  `percent` FLOAT(5,2) NULL,
  `countryId` VARCHAR(36) NULL,
  `stateId` VARCHAR(36) NULL,
  `itemCategoryId` VARCHAR(36) NULL,
  `ItemId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `taxRegimeId` VARCHAR(36) NULL,
  `natureOperationId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `cnaeCompanyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_taxation_tax_idx` (`taxId` ASC) VISIBLE,
  INDEX `fk_taxation_country_idx` (`countryId` ASC) VISIBLE,
  INDEX `fk_taxation_state_idx` (`stateId` ASC) VISIBLE,
  INDEX `fk_taxation_itemCategory_idx` (`itemCategoryId` ASC) VISIBLE,
  INDEX `fk_taxation_Item_idx` (`ItemId` ASC) VISIBLE,
  INDEX `fk_taxation_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_taxation_taxRegime_idx` (`taxRegimeId` ASC) VISIBLE,
  INDEX `fk_taxation_natureOperation_idx` (`natureOperationId` ASC) VISIBLE,
  INDEX `fk_taxation_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_taxation_cnaeCompany_idx` (`cnaeCompanyId` ASC) VISIBLE,
  CONSTRAINT `fk_taxation_tax`
    FOREIGN KEY (`taxId`)
    REFERENCES `slypig`.`tax` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_country`
    FOREIGN KEY (`countryId`)
    REFERENCES `slypig`.`country` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_state`
    FOREIGN KEY (`stateId`)
    REFERENCES `slypig`.`state` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_itemCategory`
    FOREIGN KEY (`itemCategoryId`)
    REFERENCES `slypig`.`itemCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_Item`
    FOREIGN KEY (`ItemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_taxRegime`
    FOREIGN KEY (`taxRegimeId`)
    REFERENCES `slypig`.`taxRegime` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_natureOperation`
    FOREIGN KEY (`natureOperationId`)
    REFERENCES `slypig`.`natureOperation` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_taxation_cnaeCompany`
    FOREIGN KEY (`cnaeCompanyId`)
    REFERENCES `slypig`.`cnaeCompany` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`bank`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`bank` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `bankCode` VARCHAR(3) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`accountType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`accountType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`pixType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`pixType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`employee`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`employee` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `personTypeId` VARCHAR(36) NULL,
  `companyName` VARCHAR(450) NULL,
  `fantasyName` VARCHAR(450) NULL,
  `cpfCnpj` VARCHAR(18) NULL,
  `rgStateRegistration` VARCHAR(18) NULL,
  `municipalRegistration` VARCHAR(18) NULL,
  `ruralRegistration` VARCHAR(18) NULL,
  `pis` VARCHAR(45) NULL,
  `otherInformation` TEXT NULL,
  `birthDate` DATE NULL,
  `genderId` VARCHAR(36) NULL,
  `site` VARCHAR(450) NULL,
  `referenceIndication` VARCHAR(450) NULL,
  `currencyId` VARCHAR(36) NULL,
  `curriculum` VARCHAR(4500) NULL,
  `portfolio` VARCHAR(4500) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_customer_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_customer_personType_idx` (`personTypeId` ASC) VISIBLE,
  INDEX `fk_customer_gender_idx` (`genderId` ASC) VISIBLE,
  CONSTRAINT `fk_customer_currency0`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_customer_personType0`
    FOREIGN KEY (`personTypeId`)
    REFERENCES `slypig`.`personType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_customer_gender0`
    FOREIGN KEY (`genderId`)
    REFERENCES `slypig`.`gender` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`bankAccount`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`bankAccount` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `bankId` VARCHAR(36) NULL,
  `bankAgency` VARCHAR(45) NULL,
  `bankAccount` VARCHAR(45) NULL,
  `accountTypeId` VARCHAR(36) NULL,
  `currencyId` VARCHAR(36) NULL,
  `openingBalance` DECIMAL(18,6) NULL,
  `currentBalance` DECIMAL(18,6) NULL,
  `defaultAccount` TINYINT(1) NULL,
  `companyId` VARCHAR(36) NULL,
  `pix` VARCHAR(45) NULL,
  `pixTypeId` VARCHAR(36) NULL,
  `employeeId` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_bankAccount_bank_idx` (`bankId` ASC) VISIBLE,
  INDEX `fk_bankAccount_accountType_idx` (`accountTypeId` ASC) VISIBLE,
  INDEX `fk_bankAccount_currency_idx` (`currencyId` ASC) VISIBLE,
  INDEX `fk_bankAccount_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_bankAccount_pixType_idx` (`pixTypeId` ASC) VISIBLE,
  INDEX `fk_bankAccount_employee_idx` (`employeeId` ASC) VISIBLE,
  INDEX `fk_bankAccount_supplier_idx` (`supplierId` ASC) VISIBLE,
  CONSTRAINT `fk_bankAccount_bank`
    FOREIGN KEY (`bankId`)
    REFERENCES `slypig`.`bank` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_accountType`
    FOREIGN KEY (`accountTypeId`)
    REFERENCES `slypig`.`accountType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_pixType`
    FOREIGN KEY (`pixTypeId`)
    REFERENCES `slypig`.`pixType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_employee`
    FOREIGN KEY (`employeeId`)
    REFERENCES `slypig`.`employee` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankAccount_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`bankContact`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`bankContact` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `bankId` VARCHAR(36) NULL,
  `phone` VARCHAR(45) NULL,
  `cellphone` VARCHAR(45) NULL,
  `email` VARCHAR(450) NULL,
  `address` TEXT NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_bankContact_bank_idx` (`bankId` ASC) VISIBLE,
  INDEX `fk_bankContact_company_idx` (`companyId` ASC) VISIBLE,
  CONSTRAINT `fk_bankContact_bank`
    FOREIGN KEY (`bankId`)
    REFERENCES `slypig`.`bank` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankContact_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`cardFlag`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`cardFlag` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`creditCard`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`creditCard` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `bankId` VARCHAR(36) NULL,
  `number` VARCHAR(45) NULL,
  `expirationDate` DATE NULL,
  `validationCode` INT(3) NULL,
  `cardFlagId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_creditCard_bank_idx` (`bankId` ASC) VISIBLE,
  INDEX `fk_creditCard_company_idx` (`companyId` ASC) VISIBLE,
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_creditCard_cardFlag_idx` (`cardFlagId` ASC) VISIBLE,
  CONSTRAINT `fk_creditCard_bank`
    FOREIGN KEY (`bankId`)
    REFERENCES `slypig`.`bank` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_creditCard_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_creditCard_cardFlag`
    FOREIGN KEY (`cardFlagId`)
    REFERENCES `slypig`.`cardFlag` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`paymentMethod`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`paymentMethod` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`transactionType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`transactionType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`transactionCategory`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`transactionCategory` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `transactionTypeId` VARCHAR(36) NULL,
  `transactionCategoryId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_transactionCategory_transactionType_idx` (`transactionTypeId` ASC) VISIBLE,
  INDEX `fk_transactionCategory_transactionCategory_idx` (`transactionCategoryId` ASC) VISIBLE,
  CONSTRAINT `fk_transactionCategory_transactionType`
    FOREIGN KEY (`transactionTypeId`)
    REFERENCES `slypig`.`transactionType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transactionCategory_transactionCategory`
    FOREIGN KEY (`transactionCategoryId`)
    REFERENCES `slypig`.`transactionCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`bankReconciliation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`bankReconciliation` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `bankAccountId` VARCHAR(36) NULL,
  `startDate` DATETIME NULL,
  `endDate` DATETIME NULL,
  `balanceValue` DECIMAL(18,6) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_bankReconciliation_bankAccount_idx` (`bankAccountId` ASC) VISIBLE,
  CONSTRAINT `fk_bankReconciliation_bankAccount`
    FOREIGN KEY (`bankAccountId`)
    REFERENCES `slypig`.`bankAccount` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`expenses`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`expenses` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  `employeeId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `issueDate` DATETIME NULL,
  `dueDate` DATETIME NULL,
  `expensesNumber` VARCHAR(45) NULL,
  `expensesCode` VARCHAR(45) NULL,
  `subtotal` DECIMAL(18,6) NULL,
  `total` DECIMAL(18,6) NULL,
  `discountValue` DECIMAL(18,6) NULL,
  `discountPercent` FLOAT(10,2) NULL,
  `additionValue` DECIMAL(18,6) NULL,
  `additionPercent` FLOAT(10,2) NULL,
  `taxValue` DECIMAL(18,6) NULL,
  `taxPercent` FLOAT(10,2) NULL,
  `transactionCategoryId` VARCHAR(36) NULL,
  `currencyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_expenses_supplier_idx` (`supplierId` ASC) VISIBLE,
  INDEX `fk_expenses_employee_idx` (`employeeId` ASC) VISIBLE,
  INDEX `fk_expenses_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_expenses_transactionCategory_idx` (`transactionCategoryId` ASC) VISIBLE,
  INDEX `fk_expenses_currency_idx` (`currencyId` ASC) VISIBLE,
  CONSTRAINT `fk_expenses_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_expenses_employee`
    FOREIGN KEY (`employeeId`)
    REFERENCES `slypig`.`employee` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_expenses_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_expenses_transactionCategory`
    FOREIGN KEY (`transactionCategoryId`)
    REFERENCES `slypig`.`transactionCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_expenses_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`invoice`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`invoice` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `title` VARCHAR(4500) NULL,
  `subtitle` VARCHAR(4500) NULL,
  `customerId` VARCHAR(36) NULL,
  `IssueDate` DATETIME NULL,
  `dueDate` DATE NULL,
  `expensesNumber` VARCHAR(45) NULL,
  `expensesCode` VARCHAR(45) NULL,
  `subtotal` DECIMAL(18,2) NULL,
  `total` DECIMAL(18,2) NULL,
  `discountValue` DECIMAL(18,2) NULL,
  `discountPercent` FLOAT(10,2) NULL,
  `additionValue` DECIMAL(18,2) NULL,
  `additionPercent` FLOAT(10,2) NULL,
  `taxValue` DECIMAL(18,2) NULL,
  `taxPercent` FLOAT(10,2) NULL,
  `transactionCategoryId` VARCHAR(36) NULL,
  `note` TEXT NULL,
  `footer` TEXT NULL,
  `currencyId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_invoice_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_invoice_customer_idx` (`customerId` ASC) VISIBLE,
  INDEX `fk_invoice_transactionCategory_idx` (`transactionCategoryId` ASC) VISIBLE,
  INDEX `fk_invoice_currency_idx` (`currencyId` ASC) VISIBLE,
  CONSTRAINT `fk_invoice_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_invoice_customer`
    FOREIGN KEY (`customerId`)
    REFERENCES `slypig`.`customer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_invoice_transactionCategory`
    FOREIGN KEY (`transactionCategoryId`)
    REFERENCES `slypig`.`transactionCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_invoice_currency`
    FOREIGN KEY (`currencyId`)
    REFERENCES `slypig`.`currency` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`transaction`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`transaction` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `transactionDate` DATETIME NULL,
  `paymentMethodId` VARCHAR(36) NULL,
  `bankAccountId` VARCHAR(36) NULL,
  `valueTotal` DECIMAL(18,6) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `transactionTypeId` VARCHAR(36) NULL,
  `transactionCategoryId` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `customerId` VARCHAR(36) NULL,
  `supplierId` VARCHAR(36) NULL,
  `taxationId` VARCHAR(36) NULL,
  `transactionCode` VARCHAR(45) NULL,
  `reference` VARCHAR(4500) NULL,
  `creditCardId` VARCHAR(36) NULL,
  `bankReconciliationId` VARCHAR(36) NULL,
  `expensesId` VARCHAR(36) NULL,
  `invoiceId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_transaction_paymentMethod_idx` (`paymentMethodId` ASC) VISIBLE,
  INDEX `fk_transaction_bankAccount_idx` (`bankAccountId` ASC) VISIBLE,
  INDEX `fk_transaction_transactionType_idx` (`transactionTypeId` ASC) VISIBLE,
  INDEX `fk_transaction_transactionCategory_idx` (`transactionCategoryId` ASC) VISIBLE,
  INDEX `fk_transaction_creditCard_idx` (`creditCardId` ASC) VISIBLE,
  INDEX `fk_transaction_bankReconciliation_idx` (`bankReconciliationId` ASC) VISIBLE,
  INDEX `fk_transaction_expenses_idx` (`expensesId` ASC) VISIBLE,
  INDEX `fk_transaction_invoice_idx` (`invoiceId` ASC) VISIBLE,
  INDEX `fk_transaction_supplier_idx` (`supplierId` ASC) VISIBLE,
  INDEX `fk_transaction_taxation_idx` (`taxationId` ASC) VISIBLE,
  CONSTRAINT `fk_transaction_paymentMethod`
    FOREIGN KEY (`paymentMethodId`)
    REFERENCES `slypig`.`paymentMethod` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_bankAccount`
    FOREIGN KEY (`bankAccountId`)
    REFERENCES `slypig`.`bankAccount` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_transactionType`
    FOREIGN KEY (`transactionTypeId`)
    REFERENCES `slypig`.`transactionType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_transactionCategory`
    FOREIGN KEY (`transactionCategoryId`)
    REFERENCES `slypig`.`transactionCategory` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_creditCard`
    FOREIGN KEY (`creditCardId`)
    REFERENCES `slypig`.`creditCard` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_bankReconciliation`
    FOREIGN KEY (`bankReconciliationId`)
    REFERENCES `slypig`.`bankReconciliation` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_expenses`
    FOREIGN KEY (`expensesId`)
    REFERENCES `slypig`.`expenses` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_invoice`
    FOREIGN KEY (`invoiceId`)
    REFERENCES `slypig`.`invoice` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_supplier`
    FOREIGN KEY (`supplierId`)
    REFERENCES `slypig`.`supplier` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transaction_taxation`
    FOREIGN KEY (`taxationId`)
    REFERENCES `slypig`.`taxation` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`attachmentFileType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`attachmentFileType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`transfer`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`transfer` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `fromBankAccountId` VARCHAR(36) NULL,
  `toBankAccountId` VARCHAR(36) NULL,
  `transferDate` DATETIME NULL,
  `amount` DECIMAL(18,6) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `paymentMethodId` VARCHAR(36) NULL,
  `reference` VARCHAR(4500) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_transfer_fromBankAccount_idx` (`fromBankAccountId` ASC) VISIBLE,
  INDEX `fk_transfer_toBankAccount_idx` (`toBankAccountId` ASC) VISIBLE,
  INDEX `fk_transfer_paymentMethod_idx` (`paymentMethodId` ASC) VISIBLE,
  CONSTRAINT `fk_transfer_fromBankAccount`
    FOREIGN KEY (`fromBankAccountId`)
    REFERENCES `slypig`.`bankAccount` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transfer_toBankAccount`
    FOREIGN KEY (`toBankAccountId`)
    REFERENCES `slypig`.`bankAccount` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transfer_paymentMethod`
    FOREIGN KEY (`paymentMethodId`)
    REFERENCES `slypig`.`paymentMethod` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`attachmentFile`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`attachmentFile` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `attachmentFileTypeId` VARCHAR(36) NULL,
  `transactionId` VARCHAR(36) NULL,
  `transferId` VARCHAR(36) NULL,
  `expensesId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `attachmentFile` VARCHAR(4500) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_transactionFile_transactionFileType_idx` (`attachmentFileTypeId` ASC) VISIBLE,
  INDEX `fk_transactionFile_transaction_idx` (`transactionId` ASC) VISIBLE,
  INDEX `fk_transactionFile_transfer_idx` (`transferId` ASC) VISIBLE,
  INDEX `fk_transactionFile_expenses_idx` (`expensesId` ASC) VISIBLE,
  CONSTRAINT `fk_transactionFile_transaction`
    FOREIGN KEY (`transactionId`)
    REFERENCES `slypig`.`transaction` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transactionFile_transactionFileType`
    FOREIGN KEY (`attachmentFileTypeId`)
    REFERENCES `slypig`.`attachmentFileType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transactionFile_transfer`
    FOREIGN KEY (`transferId`)
    REFERENCES `slypig`.`transfer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_transactionFile_expenses`
    FOREIGN KEY (`expensesId`)
    REFERENCES `slypig`.`expenses` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`bankStatement`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`bankStatement` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `bankAccountId` VARCHAR(36) NULL,
  `transactionId` VARCHAR(36) NULL,
  `transferId` VARCHAR(36) NULL,
  `transactionTypeId` VARCHAR(36) NULL,
  `transactionDate` DATETIME NULL,
  `amount` DECIMAL(18,6) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_bankStatement_bankAccount_idx` (`bankAccountId` ASC) VISIBLE,
  INDEX `fk_bankStatement_transaction_idx` (`transactionId` ASC) VISIBLE,
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_bankStatement_transactionType_idx` (`transactionTypeId` ASC) VISIBLE,
  INDEX `fk_bankStatement_transfer_idx` (`transferId` ASC) VISIBLE,
  CONSTRAINT `fk_bankStatement_bankAccount`
    FOREIGN KEY (`bankAccountId`)
    REFERENCES `slypig`.`bankAccount` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankStatement_transaction`
    FOREIGN KEY (`transactionId`)
    REFERENCES `slypig`.`transaction` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankStatement_transfer`
    FOREIGN KEY (`transferId`)
    REFERENCES `slypig`.`transfer` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_bankStatement_transactionType`
    FOREIGN KEY (`transactionTypeId`)
    REFERENCES `slypig`.`transactionType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`expensesItemType`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`expensesItemType` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`));


-- -----------------------------------------------------
-- Table `slypig`.`expensesItem`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`expensesItem` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `expensesItemTypeId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `quantity` INT(11) NULL,
  `price` DECIMAL(18,6) NULL,
  `amount` DECIMAL(18,6) NULL,
  `taxValue` DECIMAL(18,6) NULL,
  `taxPercent` FLOAT(10,2) NULL,
  `expensesId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_expensesIItem_expensesIItemType_idx` (`expensesItemTypeId` ASC) VISIBLE,
  INDEX `fk_expensesItem_expensesId_idx` (`expensesId` ASC) VISIBLE,
  CONSTRAINT `fk_expensesItem_expensesIItemType`
    FOREIGN KEY (`expensesItemTypeId`)
    REFERENCES `slypig`.`expensesItemType` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_expensesItem_expensesId`
    FOREIGN KEY (`expensesId`)
    REFERENCES `slypig`.`expenses` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`invoiceItem`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`invoiceItem` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `itemId` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  `quantity` INT(11) NULL,
  `price` DECIMAL(18,6) NULL,
  `amount` DECIMAL(18,6) NULL,
  `taxValue` DECIMAL(18,6) NULL,
  `taxPercent` FLOAT(10,2) NULL,
  `invoiceId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE,
  INDEX `fk_expensesItem_itemId_idx` (`itemId` ASC) VISIBLE,
  INDEX `fk_expensesItem_invoice_idx` (`invoiceId` ASC) VISIBLE,
  CONSTRAINT `fk_invoiceItem_itemId`
    FOREIGN KEY (`itemId`)
    REFERENCES `slypig`.`item` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_invoiceItem_invoice`
    FOREIGN KEY (`invoiceId`)
    REFERENCES `slypig`.`invoice` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`userProfile`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`userProfile` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `descr` TEXT NULL,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `code_UNIQUE` (`code` ASC) VISIBLE);


-- -----------------------------------------------------
-- Table `slypig`.`user`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`user` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `name` VARCHAR(450) NULL,
  `image` VARCHAR(4500) NULL,
  `email` VARCHAR(450) NULL,
  `password` VARCHAR(45) NULL,
  `userProfileId` VARCHAR(36) NULL,
  `languageId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_user_userProfile_idx` (`userProfileId` ASC) VISIBLE,
  INDEX `fk_user_language_idx` (`languageId` ASC) VISIBLE,
  CONSTRAINT `fk_user_userProfile`
    FOREIGN KEY (`userProfileId`)
    REFERENCES `slypig`.`userProfile` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_user_language`
    FOREIGN KEY (`languageId`)
    REFERENCES `slypig`.`language` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


-- -----------------------------------------------------
-- Table `slypig`.`companyUser`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `slypig`.`companyUser` (
  `id` VARCHAR(36) NOT NULL,
  `code` BIGINT(20) UNIQUE UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
  `active` TINYINT(1) NULL DEFAULT 1,
  `createdAt` TIMESTAMP(6) NULL,
  `createdBy` VARCHAR(36) NULL,
  `updatedAt` TIMESTAMP(6) NULL,
  `updatedBy` VARCHAR(36) NULL,
  `deletedAt` TIMESTAMP(6) NULL,
  `deletedBy` VARCHAR(36) NULL,
  `companyId` VARCHAR(36) NULL,
  `userId` VARCHAR(36) NULL,
  `userProfileId` VARCHAR(36) NULL,
  PRIMARY KEY (`id`),
  INDEX `fk_companyUser_company_idx` (`companyId` ASC) VISIBLE,
  INDEX `fk_companyUser_user_idx` (`userId` ASC) VISIBLE,
  INDEX `fk_companyUser_userProfile_idx` (`userProfileId` ASC) VISIBLE,
  CONSTRAINT `fk_companyUser_company`
    FOREIGN KEY (`companyId`)
    REFERENCES `slypig`.`company` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_companyUser_user`
    FOREIGN KEY (`userId`)
    REFERENCES `slypig`.`user` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_companyUser_userProfile`
    FOREIGN KEY (`userProfileId`)
    REFERENCES `slypig`.`userProfile` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
