task_id: task_create_model_artist entity_id: model_artist generated_at: '2025-12-18T15:16:50.218607' workflow_version: v001 target: type: model definition: id: model_artist name: Artist table_name: artists description: Extended profile for musicians fields: - name: id type: uuid constraints: - primary_key - name: user_id type: uuid constraints: - not_null - foreign_key references: users.id - name: stage_name type: string constraints: - not_null - name: bio type: text constraints: - nullable - name: cover_image_url type: string constraints: - nullable - name: social_links type: jsonb description: JSON object with {twitter, instagram, facebook, website} constraints: - nullable - name: verified type: boolean default: false - name: created_at type: timestamp constraints: - not_null - name: updated_at type: timestamp constraints: - not_null relations: - type: belongs_to to: model_user foreign_key: user_id - type: has_many to: model_song foreign_key: artist_id - type: has_many to: model_album foreign_key: artist_id - type: belongs_to to: model_label foreign_key: label_id optional: true indexes: - fields: - user_id unique: true - fields: - stage_name timestamps: true related: models: [] apis: [] components: [] dependencies: entity_ids: [] definitions: [] files: to_create: - prisma/schema.prisma - app/models/artist.ts reference: [] acceptance: - criterion: Model defined in Prisma schema verification: Check prisma/schema.prisma - criterion: TypeScript types exported verification: Import type in test file - criterion: Relations properly configured verification: Check Prisma relations