36436-vm/db/migrations/005_create_proposals_table.sql
Flatlogic Bot 2a74e9787f v1
2025-11-28 17:43:30 +00:00

25 lines
877 B
SQL

CREATE TABLE IF NOT EXISTS `proposals` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`community_id` INT NOT NULL,
`user_id` INT NOT NULL,
`title` VARCHAR(255) NOT NULL,
`description` TEXT NOT NULL,
`end_time` TIMESTAMP NOT NULL,
`status` ENUM('active', 'resolved') NOT NULL DEFAULT 'active',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`community_id`) REFERENCES `communities`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`)
);
CREATE TABLE IF NOT EXISTS `proposal_votes` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`proposal_id` INT NOT NULL,
`user_id` INT NOT NULL,
`vote` ENUM('up', 'down') NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY `user_proposal_vote` (`user_id`, `proposal_id`),
FOREIGN KEY (`proposal_id`) REFERENCES `proposals`(`id`),
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`)
);