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"