130 lines
4.1 KiB
YAML
130 lines
4.1 KiB
YAML
tags:
|
|
- Database
|
|
summary: Cria uma nova tabela no sistema
|
|
description: >
|
|
Este endpoint permite criar uma nova tabela no banco de dados, com a definição de colunas e tipos de dados fornecidos pelo usuário.
|
|
É necessário especificar o nome da tabela e uma lista de colunas, incluindo suas propriedades.
|
|
security:
|
|
- bearerAuth: []
|
|
parameters:
|
|
- in: body
|
|
name: body
|
|
required: true
|
|
description: Dados para criar a nova tabela.
|
|
schema:
|
|
type: object
|
|
required:
|
|
- table_name
|
|
- columns
|
|
properties:
|
|
table_name:
|
|
type: string
|
|
description: Nome da nova tabela a ser criada.
|
|
description:
|
|
type: string
|
|
description: Descrição da tabela (opcional).
|
|
columns:
|
|
type: array
|
|
description: Lista de colunas que a tabela irá conter.
|
|
items:
|
|
type: object
|
|
required:
|
|
- column_name
|
|
- column_type
|
|
properties:
|
|
column_name:
|
|
type: string
|
|
description: Nome da coluna.
|
|
column_type:
|
|
type: string
|
|
description: Tipo de dado da coluna (ex. Integer, String, Date).
|
|
is_nullable:
|
|
type: boolean
|
|
description: Indica se a coluna permite valores nulos.
|
|
is_foreign_key:
|
|
type: boolean
|
|
description: Indica se a coluna é uma chave estrangeira (opcional).
|
|
related_table:
|
|
type: string
|
|
description: Nome da tabela relacionada, se a coluna for uma chave estrangeira (opcional).
|
|
responses:
|
|
201:
|
|
description: Tabela criada com sucesso.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
description: Mensagem de sucesso.
|
|
table_name:
|
|
type: string
|
|
description: Nome da tabela criada.
|
|
columns:
|
|
type: array
|
|
description: Lista das colunas criadas na tabela.
|
|
items:
|
|
type: object
|
|
properties:
|
|
column_name:
|
|
type: string
|
|
description: Nome da coluna.
|
|
column_type:
|
|
type: string
|
|
description: Tipo de dado da coluna.
|
|
is_nullable:
|
|
type: boolean
|
|
description: Indica se a coluna permite valores nulos.
|
|
is_foreign_key:
|
|
type: boolean
|
|
description: Indica se a coluna é uma chave estrangeira.
|
|
related_table:
|
|
type: string
|
|
description: Nome da tabela relacionada (se aplicável).
|
|
examples:
|
|
application/json:
|
|
value:
|
|
message: "Tabela criada com sucesso"
|
|
table_name: "student_frequencies"
|
|
columns:
|
|
- column_name: "student_id"
|
|
column_type: "Integer"
|
|
is_nullable: false
|
|
is_foreign_key: true
|
|
related_table: "students"
|
|
- column_name: "date"
|
|
column_type: "Date"
|
|
is_nullable: false
|
|
- column_name: "status"
|
|
column_type: "String"
|
|
is_nullable: false
|
|
400:
|
|
description: Dados inválidos ou tabela já existe.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
description: Mensagem de erro.
|
|
examples:
|
|
application/json:
|
|
value:
|
|
error: "Tabela já existe ou dados inválidos"
|
|
422:
|
|
description: Dados ausentes ou inválidos.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
error:
|
|
type: string
|
|
description: Mensagem de erro.
|
|
examples:
|
|
application/json:
|
|
value:
|
|
error: "Dados ausentes ou inválidos"
|