Database
Migrations
Introduction

Migrações

As Migrações são responsáveis por configurar o seu banco de dados. Elas permitem que você defina e compartilhe a definição do esquema do banco de dados de forma programática.

Instalação

python3 octapus.py make:migration Users

Estrutura

As migrações ficam localizadas em database/migrations/. Cada arquivo representa uma tabela ou alteração no banco.

Arquivo: database/migrations/{timestamp}_users.py

from provider.migrations.BaseMigration import BaseMigration
from pypika.functions import CurTimestamp
 
class Users(BaseMigration):
    def __init__(self):
        super().__init__(table="users")
        self.creator()
    
    def creator(self):
        self.id()
        # ...

Métodos

A classe BaseMigration oferece diversos métodos para definição de colunas:

MétodoTipo SQLDescrição
IdINTEGERChave primária auto-incremento
StringVARCHARTexto (padrão 45 caracteres)
IntegerINTEGERNúmeros inteiros
BigIntBIGINTNúmeros inteiros grandes
FloatFLOATNúmeros decimais
BooleanBOOLEANVerdadeiro/Falso
NumericNUMERICNumérico
SignedSIGNEDInteiro com sinal
UnsignedUNSIGNEDInteiro sem sinal
DateDATEData
TimeTIMEHora
TimestampTIMESTAMPData e hora

Carregando

Para aplicar suas migrações ao banco de dados, utilize o Octapus CLI:

python octapus.py load:migrate fresh

Caso queira algo mais forte, use o refresh. ele deleta todas as tabelas e recria o seu banco de dados

python octapus.py load:migrate refresh