first test
This commit is contained in:
26
db/init_postgres.sql
Normal file
26
db/init_postgres.sql
Normal file
@ -0,0 +1,26 @@
|
||||
-- SQL script to create the necessary tables in your PostgreSQL database
|
||||
|
||||
-- Users table to store login information
|
||||
CREATE TABLE users (
|
||||
id SERIAL PRIMARY KEY, -- Unique identifier for each user
|
||||
username VARCHAR(255) UNIQUE NOT NULL, -- Unique username for login
|
||||
password_hash VARCHAR(255) NOT NULL, -- Hashed password
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -- Timestamp of user creation
|
||||
);
|
||||
|
||||
-- Todos table to store todo items
|
||||
CREATE TABLE todos (
|
||||
id SERIAL PRIMARY KEY, -- Unique identifier for each todo
|
||||
user_id INTEGER NOT NULL, -- Foreign key referencing the users table
|
||||
task TEXT NOT NULL, -- The content of the todo item
|
||||
is_completed BOOLEAN DEFAULT FALSE, -- Status of the todo item
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- Timestamp of todo creation
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE -- Ensure referential integrity
|
||||
);
|
||||
|
||||
-- Optional: Add an index for faster lookups by user_id in the todos table
|
||||
CREATE INDEX idx_todos_user_id ON todos(user_id);
|
||||
|
||||
-- Optional: Add an index for faster lookups by username in the users table
|
||||
CREATE INDEX idx_users_username ON users(username);
|
||||
|
Reference in New Issue
Block a user