[PYTHON] Kolben-Datenbankeinstellungen

Einführung

In diesem Abschnitt werden die Grundlagen der datenbankbezogenen Einstellungen von Flask beschrieben. Die Datenbank muss SQLite verwenden.

Schemaeinstellungen

Die Tabellendefinition lautet wie folgt.

schema.sql


DROP TABLE IF EXISTS user;

CREATE TABLE user (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    username TEXT UNIQUE NOT NULL,
    password TEXT NOT NULL
);

Funktionen für die Datenbank

Die datenbankbezogenen Funktionen sind wie folgt.

db.py


import sqlite3

import click
from flask import current_app, g
from flask.cli import with_appcontext


def get_db():
    if 'db' not in g:
        g.db = sqlite3.connect(
            current_app.config['DATABASE'],
            detect_types=sqlite3.PARSE_DECLTYPES
        )
        g.db.row_factory = sqlite3.Row

    return g.db


def close_db(e=None):
    db = g.pop('db', None)

    if db is not None:
        db.close()


def init_db():
    db = get_db()

    with current_app.open_resource('schema.sql') as f:
        db.executescript(f.read().decode('utf8'))


@click.command('init-db')
@with_appcontext
def init_db_command():
    """Clear the existing data and create new tables. """
    init_db()
    click.echo('Initialized the database.')


def init_app(app):
    app.teardown_appcontext(close_db)
    app.cli.add_command(init_db_command)

Zusammenfassung

Hier haben wir die Grundlagen der Datenbankeinstellungen erklärt. Nächstes Mal werde ich die Anwendungseinstellungen behandeln.

Recommended Posts

Kolben-Datenbankeinstellungen
Kolben-Grundeinstellungen
Einstellungen der Kolbenanwendung
Einstellungen der Flask-HTML-Vorlage
Flasche
Flasche
(Für mich) Flask_7 (Datenbank von Flask öffnen)
Erste Flasche
Samba-Einstellungen
Kolben Memo
VIM-Einstellungen