16 lines
480 B
SQL
16 lines
480 B
SQL
-- +goose Up
|
|
CREATE TABLE urls (
|
|
url_id SERIAL PRIMARY KEY,
|
|
long_url TEXT NOT NULL,
|
|
short_code VARCHAR(10) UNIQUE NOT NULL,
|
|
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
expires_at TIMESTAMP WITH TIME ZONE,
|
|
is_active BOOLEAN DEFAULT TRUE NOT NULL
|
|
);
|
|
|
|
-- Crucial index for lightning-fast lookups when redirecting
|
|
CREATE INDEX idx_urls_short_code ON urls(short_code);
|
|
|
|
-- +goose Down
|
|
DROP INDEX idx_urls_short_code;
|
|
DROP TABLE urls; |