Repositório de versionamento e colaboração de dados do projeto Código QL, usando PostgreSQL 17 (Docker), Prisma ORM, Node.js e TypeScript.
- Mantém a estrutura do banco de dados e dados base em código, usando arquivos versionados.
- Facilita colaboração aberta: qualquer pessoa pode propor adição de dados ou ajustes via pull request.
- Automatiza a criação, atualização e povoamento do banco para desenvolvimento local, garantindo consistência e reprodutibilidade.
- Node.js LTS (v18+ recomendado)
- Docker Desktop
- npm ou yarn
-
Clone o repositório:
git clone https://github.com/sua-org/codigo-ql-database.git cd codigo-ql-database -
Instale as dependências do projeto:
npm install
-
Suba o banco de dados PostgreSQL no Docker:
docker compose up -d
O banco de dados ficará disponível sempre que o Docker estiver rodando.
-
Execute as migrations iniciais para criar as tabelas:
npx prisma migrate dev --name init
-
(Opcional) Adicione arquivos de dados (JSON/YAML, imagens, etc) nas pastas
data/conforme instruções da documentação. -
Popule o banco com os dados dos arquivos usando o seed:
npx ts-node prisma/seed.ts
Ou, se preferir:
npm run prisma-seed
Sempre que for começar a trabalhar no projeto, faça:
-
Inicie o banco de dados (se ainda não estiver rodando):
docker compose up -d
O banco persiste dados entre reinicializações.
-
(Se houver mudanças nas tabelas) Rode novamente as migrations:
npx prisma migrate dev
-
(Se houver mudanças nos dados dos arquivos) Rode novamente o seed:
npx ts-node prisma/seed.ts
- Os dados que preenchem o banco (ex: entidades, relacionamentos, arquivos binários) estão em subpastas dentro de
data/, em arquivos JSON, YAML, imagens ou outros formatos. - Os scripts de seed são responsáveis por ler esses arquivos e inserir/atualizar os dados no banco automaticamente.
- Instruções detalhadas para contribuir com dados estão na documentação interna do projeto.
docker compose down -v
docker compose up -d
npx prisma migrate dev --name init
npx ts-node prisma/seed.ts