-- +migrate Up
-- please read this article to understand why we use VARCHAR(191)
-- https://www.grouparoo.com/blog/varchar-191#why-varchar-and-not-text
CREATE TABLE `orders` (
                          `id`             INT PRIMARY KEY AUTO_INCREMENT,
                          `user_id`        INT,
                          `address_id`     INT,
                          `shipping_id`    INT NOT NULL,
                          `payment_method` ENUM('online', 'wallet', 'cart') DEFAULT 'online',
                          `payment_status` ENUM('unpaid', 'paid') DEFAULT 'unpaid',
                          `process_status` ENUM('waiting-to-pay', 'processing', 'accepted', 'preparing', 'prepared', 'given-to-post', 'delivered', 'cancelled') DEFAULT 'waiting-to-pay',
                          `total_amount`   INT NOT NULL,
                          `total_discount` INT NULL,

                          `created_at`    TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
                          `updated_at`    TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
--                         FOREIGN KEY (`user_id`) REFERENCES `users`(`id`)
                           FOREIGN KEY (`shipping_id`) REFERENCES `shippings`(`id`)

);

-- +migrate Down
DROP TABLE `orders`;
