196 lines
6.3 KiB
SQL
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;
|