Files

196 lines
6.3 KiB
SQL

# This is a fix for InnoDB in MySQL >= 4.1.x
# It "suspends judgement" for fkey relationships until are tables are set.
SET FOREIGN_KEY_CHECKS = 0;
-- ---------------------------------------------------------------------
-- paypal_customer
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_customer`
(
`id` INTEGER NOT NULL,
`paypal_user_id` INTEGER NOT NULL,
`credit_card_id` VARCHAR(40),
`name` VARCHAR(255),
`given_name` VARCHAR(255),
`family_name` VARCHAR(255),
`middle_name` VARCHAR(255),
`picture` VARCHAR(255),
`email_verified` TINYINT,
`gender` VARCHAR(255),
`birthday` VARCHAR(255),
`zoneinfo` VARCHAR(255),
`locale` VARCHAR(255),
`language` VARCHAR(255),
`verified` TINYINT,
`phone_number` VARCHAR(255),
`verified_account` VARCHAR(255),
`account_type` VARCHAR(255),
`age_range` VARCHAR(255),
`payer_id` VARCHAR(255),
`postal_code` VARCHAR(255),
`locality` VARCHAR(255),
`region` VARCHAR(255),
`country` VARCHAR(255),
`street_address` VARCHAR(255),
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`,`paypal_user_id`),
CONSTRAINT `fk_paypal_payer_customer_id`
FOREIGN KEY (`id`)
REFERENCES `customer` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_planified_payment
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_planified_payment`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`frequency` VARCHAR(255) NOT NULL,
`frequency_interval` INTEGER NOT NULL,
`cycle` INTEGER NOT NULL,
`min_amount` DECIMAL(16,6) DEFAULT 0.000000,
`max_amount` DECIMAL(16,6) DEFAULT 0.000000,
`position` INTEGER DEFAULT 0 NOT NULL,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_cart
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_cart`
(
`id` INTEGER NOT NULL,
`credit_card_id` VARCHAR(40),
`planified_payment_id` INTEGER,
`express_payment_id` VARCHAR(255),
`express_payer_id` VARCHAR(255),
`express_token` VARCHAR(255),
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
INDEX `fi_paypal_cart_planified_payment_id` (`planified_payment_id`),
CONSTRAINT `fk_paypal_cart_cart_id`
FOREIGN KEY (`id`)
REFERENCES `cart` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE,
CONSTRAINT `fk_paypal_cart_planified_payment_id`
FOREIGN KEY (`planified_payment_id`)
REFERENCES `paypal_planified_payment` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_order
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_order`
(
`id` INTEGER NOT NULL,
`payment_id` VARCHAR(50),
`agreement_id` VARCHAR(255),
`credit_card_id` VARCHAR(40),
`state` VARCHAR(20),
`amount` DECIMAL(16,6) DEFAULT 0.000000,
`description` LONGTEXT,
`payer_id` VARCHAR(255),
`token` VARCHAR(255),
`planified_title` VARCHAR(255) NOT NULL,
`planified_description` LONGTEXT,
`planified_frequency` VARCHAR(255) NOT NULL,
`planified_frequency_interval` INTEGER NOT NULL,
`planified_cycle` INTEGER NOT NULL,
`planified_actual_cycle` INTEGER DEFAULT 0 NOT NULL,
`planified_min_amount` DECIMAL(16,6) DEFAULT 0.000000,
`planified_max_amount` DECIMAL(16,6) DEFAULT 0.000000,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
CONSTRAINT `fk_paypal_order_order_id`
FOREIGN KEY (`id`)
REFERENCES `order` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_plan
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_plan`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`paypal_order_id` INTEGER NOT NULL,
`plan_id` VARCHAR(255),
`state` VARCHAR(255),
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
INDEX `fi_paypal_plan_paypal_order_id` (`paypal_order_id`),
CONSTRAINT `fk_paypal_plan_paypal_order_id`
FOREIGN KEY (`paypal_order_id`)
REFERENCES `paypal_order` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_log
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_log`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`customer_id` INTEGER,
`order_id` INTEGER,
`hook` VARCHAR(255),
`channel` VARCHAR(255),
`level` INTEGER,
`message` LONGTEXT,
`time` INTEGER,
`created_at` DATETIME,
`updated_at` DATETIME,
PRIMARY KEY (`id`),
INDEX `fi_paypal_log_customer_id` (`customer_id`),
INDEX `fi_paypal_log_order_id` (`order_id`),
CONSTRAINT `fk_paypal_log_customer_id`
FOREIGN KEY (`customer_id`)
REFERENCES `customer` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE,
CONSTRAINT `fk_paypal_log_order_id`
FOREIGN KEY (`order_id`)
REFERENCES `order` (`id`)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB;
-- ---------------------------------------------------------------------
-- paypal_planified_payment_i18n
-- ---------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `paypal_planified_payment_i18n`
(
`id` INTEGER NOT NULL,
`locale` VARCHAR(5) DEFAULT 'en_US' NOT NULL,
`title` VARCHAR(255) NOT NULL,
`description` LONGTEXT,
PRIMARY KEY (`id`,`locale`),
CONSTRAINT `paypal_planified_payment_i18n_fk_c9dfe7`
FOREIGN KEY (`id`)
REFERENCES `paypal_planified_payment` (`id`)
ON DELETE CASCADE
) ENGINE=InnoDB;
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;