USE vintagecoding;
DROP TABLE IF EXISTS posts;

CREATE TABLE posts (
    post_id INT PRIMARY KEY AUTO_INCREMENT,
    author_id INT NOT NULL,
    post_type_id INT NOT NULL,
    title VARCHAR(255), -- Make title nullable to accommodate Moments and Thoughts
    slug VARCHAR(255) UNIQUE,
    markdown TEXT,      -- For Essays
    excerpt VARCHAR(255), -- For Essays
    caption TEXT,       -- For Moments
    images TEXT,        -- Store image filenames as JSON for Moments
    thought TEXT,       -- For Thoughts
    read_count INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    published_at TIMESTAMP DEFAULT NULL,
    published BOOLEAN DEFAULT TRUE,
    FOREIGN KEY (author_id) REFERENCES user(user_id) ON DELETE CASCADE,
    FOREIGN KEY (post_type_id) REFERENCES post_types(post_type_id)
);

-- Re-insert the initial post, adjusting for the new schema
INSERT INTO post (author_id, post_type_id, title, excerpt, published_at)
VALUES (1, 1, 'Building vintagecoding.net', 'A devlog of the creation of vintagecoding.net and a test at the formatting of post cards and posts. Let the great experiment begin!', CURRENT_TIMESTAMP);
