{% extends 'dev_base.html' %}{% block content %}
Infraestrutura / {{ clinic.slug }}

Banco de dados

Escolha a tecnologia, configure o destino e gere o esquema inicial da clínica.

Voltar à clínica{% if clinic.database.provider not in ['local'] %}{{ 'Gerar estrutura JSON' if clinic.database.provider=='firebase' else 'Gerar SQL' }}{% endif %}
Runtime deste servidor: {{ runtime_db.provider }} · Firebird {{ runtime_db.host }}:{{ runtime_db.port }} · {{ runtime_db.database or "banco ainda não informado no .env" }}{% if runtime_db.client_library %}
fbclient.dll: {{ runtime_db.client_library }}{% endif %}
database
PROVEDOR SELECIONADO

{{ db_summary.label }}

{{ db_summary.target }}

{{ clinic.database.status or 'CONFIGURADO' }}

1. Modo de operação

Defina se esta clínica trabalha local, nuvem ou híbrido. No híbrido, o Firebird mantém a operação da rede local e o Firebase centraliza acesso remoto e sincronização.

2. Banco principal / provedor

Também é possível preparar PostgreSQL, MySQL/MariaDB, SQL Server e SQLite para instalações específicas.

3. Servidor

A senha real não é salva nesta tela. Guarde-a em variável de ambiente ou Secret Manager e informe somente a referência.

3. Nuvem ClinicOS / Firebase

Escolha quem administra a infraestrutura Firebase desta clínica.

Recomendado. O cliente não recebe Service Account. O backend central mantém as credenciais administrativas e isola os dados por clinic_id/tenant_id.
Informe somente o nome da variável de ambiente ou referência segura. A chave privada nunca aparece na tela e nunca deve ir para Portable, navegador ou celular.
Status: {{ clinic.cloud.provisioning_status }}{% if clinic.cloud.last_test_at %} · último teste {{ clinic.cloud.last_test_at }}{% endif %}{% if clinic.cloud.last_test_message %}
{{ clinic.cloud.last_test_message }}{% endif %}

3. Arquivo SQLite

3. Armazenamento local

Usa o JSON local do projeto. Adequado para desenvolvimento e demonstração; não é a escolha recomendada para produção multiusuário.

4. Segurança de conexão

{% if clinic.cloud.mode=='managed' %}
{% endif %}
{% endblock %}