added ratings and updated ebook struct
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
-- Add ebook ratings functionality
|
||||
CREATE TABLE ebook_ratings (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
ebook_id UUID NOT NULL REFERENCES ebooks(id) ON DELETE CASCADE,
|
||||
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
rating INTEGER NOT NULL CHECK (rating >= 1 AND rating <= 5),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
UNIQUE(ebook_id, user_id)
|
||||
);
|
||||
|
||||
-- Create indexes for better query performance
|
||||
CREATE INDEX idx_ebook_ratings_ebook_id ON ebook_ratings(ebook_id);
|
||||
CREATE INDEX idx_ebook_ratings_user_id ON ebook_ratings(user_id);
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Add additional metadata fields to ebooks table
|
||||
ALTER TABLE ebooks ADD COLUMN series VARCHAR(255);
|
||||
ALTER TABLE ebooks ADD COLUMN series_number INTEGER;
|
||||
ALTER TABLE ebooks ADD COLUMN tags TEXT;
|
||||
ALTER TABLE ebooks ADD COLUMN asin VARCHAR(20);
|
||||
ALTER TABLE ebooks ADD COLUMN date_published DATE;
|
||||
ALTER TABLE ebooks ADD COLUMN publisher VARCHAR(255);
|
||||
ALTER TABLE ebooks ADD COLUMN contributors TEXT;
|
||||
Reference in New Issue
Block a user