19 lines
		
	
	
		
			583 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			583 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
| CREATE TABLE links (
 | |
|     id SERIAL PRIMARY KEY,
 | |
|     short_code VARCHAR(16) NOT NULL UNIQUE,
 | |
|     target_url TEXT NOT NULL,
 | |
|     created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
 | |
|     updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
 | |
| );
 | |
| 
 | |
| CREATE UNIQUE INDEX idx_links_short_code ON links(short_code);
 | |
| 
 | |
| CREATE TABLE redirect_logs (
 | |
|     id BIGSERIAL PRIMARY KEY,
 | |
|     link_id INTEGER NOT NULL REFERENCES links(id) ON DELETE CASCADE,
 | |
|     ip_address INET,
 | |
|     user_agent TEXT,
 | |
|     redirected_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
 | |
| );
 | |
| 
 | |
| CREATE INDEX idx_redirect_logs_link_id ON redirect_logs(link_id); |