fastapi-do-zero
fastapi-do-zero copied to clipboard
Revisão final aula 04 - Configurando o Banco de Dados e Gerenciando Migrações com Alembic
A aula não segue uma ordem gradual dos acontecimentos. A aula vai e volta em diversos cenários.
ORM -> 12 Fatores -> ORM -> engine/session -> modelo de dados -> Teste -> Configuração -> Alembic.
Isso complica BASTANTE o andamento da aula, pois os conceitos são travados e distanciados da aplicação. Uma grande ideia seria seguir de forma gradual. Por exemplo:
- O que é um ORM: explicar os conceitos básicos
- O SQLAlchemy: Afunilando o tópico anterior
- Modelo de dados: Aqui definimos como será a tabela do banco de dados
- Aqui explicar vamos entender os conceitos do SQLAlchemy nos baseando em um teste (Não montar a fixture aqui)
- A engine: explicar como se comunicar com o banco de dados e usar em memória!
- Criação da tabela usando os modelos de
Base
- A session: explicar o básico do funcionamento da Sessão
- Aqui explicar o básico sobre os comandos da sessão:
-
.add
-
.commit
-
- Buscando os dados no banco de dados
- Falar sobre da função select
select
- Mostrar o print do
select(User)
- O método
.select()
-> Mostrar o print novamente -
session.scalar
: Mostrar que ele executa a busca real no banco
- Falar sobre da função select
- Aqui explicar o básico sobre os comandos da sessão:
- Aprimorando o sistema de testes (montar a fixture aqui)
- Configuração do ambiente do banco de dados
- 12 fatores
- pydantic_settings
- Instalação
- Schema de configuração
- arquivo
.env
- Migrações
- ...
Esses são os pontos levados em consideração em relação à leitura em #67
Essa issue também deve levar em consideração os pontos já anotados em #67