init.sql•1.33 kB
-- Initialize the database with some sample data
CREATE TABLE IF NOT EXISTS users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS products (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10,2) NOT NULL,
description TEXT,
category VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS orders (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES users(id),
product_id INTEGER REFERENCES products(id),
quantity INTEGER NOT NULL DEFAULT 1,
total_amount DECIMAL(10,2) NOT NULL,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Insert sample data
INSERT INTO users (name, email) VALUES
('John Doe', 'john@example.com'),
('Jane Smith', 'jane@example.com'),
('Bob Johnson', 'bob@example.com');
INSERT INTO products (name, price, description, category) VALUES
('Laptop', 999.99, 'High-performance laptop', 'Electronics'),
('Coffee Mug', 12.99, 'Ceramic coffee mug', 'Kitchen'),
('Book', 24.99, 'Programming guide', 'Books');
INSERT INTO orders (user_id, product_id, quantity, total_amount) VALUES
(1, 1, 1, 999.99),
(2, 2, 2, 25.98),
(3, 3, 1, 24.99);