FastAPI| Arbeiten mit FastAPI

Installation

FastAPI basiert auf den nachfolgenden leistungsfähigen Paketen:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install fastapi
pip install fastapi
pip install fastapi

Oder die Installation von FastAPI mit allen Komponenten

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install fastapi[all]
pip install fastapi[all]
pip install fastapi[all]
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install uvicorn[standard]
pip install uvicorn[standard]
pip install uvicorn[standard]

Arbeiten mit Datenbanken

Alembic

Alembic ist ein leichtgewichtiges Datenbankmigrationstool zur Verwendung mit dem SQLAlchemy Database Toolkit für Python.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install alembic
alembic init alembic
alembic list_templates
alembic init --template generic ./scripts
pip install alembic alembic init alembic alembic list_templates alembic init --template generic ./scripts
pip install alembic
alembic init alembic
alembic list_templates
alembic init --template generic ./scripts

Migrationsskript zur Erstellug der Tabelle ‘account’

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alembic revision -m "create account table"
alembic revision -m "create account table"
alembic revision -m "create account table"

Migrationsskript bearbeiten

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def upgrade():
op.create_table(
'account',
sa.Column('id', sa.Integer, primary_key=True),
sa.Column('name', sa.String(50), nullable=False),
sa.Column('description', sa.Unicode(200)),
)
def downgrade():
op.drop_table('account')
def upgrade(): op.create_table( 'account', sa.Column('id', sa.Integer, primary_key=True), sa.Column('name', sa.String(50), nullable=False), sa.Column('description', sa.Unicode(200)), ) def downgrade(): op.drop_table('account')
def upgrade():
    op.create_table(
        'account',
        sa.Column('id', sa.Integer, primary_key=True),
        sa.Column('name', sa.String(50), nullable=False),
        sa.Column('description', sa.Unicode(200)),
    )

def downgrade():
    op.drop_table('account')

Migration durchführen

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alembic upgrade head
alembic upgrade head
alembic upgrade head

Migrationsskript erstellen für das Hinzufügen einer Spalte

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alembic revision -m "Add a column"
alembic revision -m "Add a column"
alembic revision -m "Add a column"

Migrationsskript bearbeiten

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
def upgrade():
op.add_column('account', sa.Column('last_transaction_date', sa.DateTime))
def downgrade():
op.drop_column('account', 'last_transaction_date')
def upgrade(): op.add_column('account', sa.Column('last_transaction_date', sa.DateTime)) def downgrade(): op.drop_column('account', 'last_transaction_date')
def upgrade():
    op.add_column('account', sa.Column('last_transaction_date', sa.DateTime))

def downgrade():
    op.drop_column('account', 'last_transaction_date')

Migration durchführen

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
alembic upgrade head
alembic upgrade head
alembic upgrade head