-- +goose Up CREATE TABLE developer_tasks ( id SERIAL PRIMARY KEY, title VARCHAR(255) NOT NULL CHECK (char_length(btrim(title)) > 0), description TEXT NOT NULL DEFAULT '' CHECK (char_length(description) <= 10000), status TEXT NOT NULL DEFAULT 'new' CHECK (status IN ('new', 'in_progress', 'review', 'done')), assignee_id INTEGER REFERENCES users(id) ON DELETE SET NULL, author_id INTEGER REFERENCES users(id) ON DELETE SET NULL, due_date DATE, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), version INTEGER NOT NULL DEFAULT 1 CHECK (version > 0) ); -- +goose Down DROP TABLE developer_tasks;