Add core dataset functionality including creation, listing, retrieval, and deletion
of datasets. Introduce Dataset model with fields for name, description, and metadata,
along with a dedicated service layer for business logic and a RESTful API controller
exposing endpoints under /api/datasets. Include validation for required fields and
error handling for duplicate names and missing datasets.
The profiles table previously lacked an index on the user_id column, causing slow query performance when joining with the users table. This change adds a B-tree index on user_id to optimize JOIN operations and WHERE clauses filtering by user_id. The migration file `20240614_add_user_id_index.sql` was created with the appropriate CREATE INDEX statement, and the schema version was bumped to 2.1.0 in the migration tracking table.
The profiles table previously lacked an index on the user_id column, causing full table scans during user lookups. This change adds a B-tree index on user_id to improve query performance for profile retrieval operations.
The new index on the `user_id` column in the `profiles` table improves query performance when filtering or joining by user identifier, reducing full table scans during profile retrieval operations.
The new index on the `user_id` column in the `profiles` table improves query performance when filtering or joining by user identifier, reducing full table scans during profile retrieval operations.