Dev Factory Code Wiki

devfactory-services-relational

Serviço multi-tenant de banco relacional da Dev Factory. Um SQL Server compartilhado

Markdown · 2 arquivos C# · 2 arquivos MSBuild · 1 arquivos 7 arquivos

Endpoints HTTP 2

MétodoRotaArquivo
GET/healthProgram.cs
GET/.metadataProgram.cs

Estrutura

📁 docs/1 arquivos
· API-EXAMPLES.md
📁 src/3 arquivos
📁 DevFactory.ApisRelational/
· .gitignore
· nuget.config
· README.md

README

Dev Factory — Relational API

Serviço multi-tenant de banco relacional da Dev Factory. Um SQL Server compartilhado (RDS) atende todos os projetos; cada projeto×ambiente tem o seu próprio database (rel_{env}_df_{project}), criado automaticamente no primeiro uso.

As operações espelham o ADO.NET (System.Data):

OperaçãoEndpointEquivalente C#
QueryPOST /v1/projects/{p}/environments/{e}/queryExecuteReader
ScalarPOST .../scalarExecuteScalar
NonQueryPOST .../nonqueryExecuteNonQuery
Batch transacionalPOST .../batchSqlTransaction + N comandos
TabelasGET .../tables · GET .../databaseINFORMATION_SCHEMA.TABLES
Preview (read-only)GET .../tables/{t}/rows?top=&skip=— (alimenta o Data Explorer)

Corpo das operações SQL: { "sql": "...", "params": { "nome": "valor" } } — parâmetros viram @nome (sempre parametrize; nunca interpole valores no SQL).

Modos

ModoQuandoBackend
sqlserverRELATIONAL_SQL_CONNECTION definidaSQL Server (RDS compartilhado), dialeto T-SQL
sqlitedefault localArquivos SQLite (RELATIONAL_SQLITE_DIR, default temp)

GET /health informa o modo/dialeto ativo.

Integração com a plataforma

O data plane do devfactory-apis-aws expõe o serviço como relational na gramática uniforme (/v1/projects/{p}/environments/{e}/relational/...), incluindo os custom verbs :query, :scalar e :nonquery, e o Data Explorer do console navega as tabelas (somente leitura).

Rodar local


dotnet run --project src/DevFactory.ApisRelational   # SQLite, porta 8080, swagger em /swagger

Build & deploy

release/dev → GitHub Actions (ecr-dev) builda a imagem para o ECR devfactory-apis-relational; o deployment apis-relational no EKS (namespace devfactory-v1-dev) roda a imagem com a connection string do RDS via Secret.