Thứ Ba, 17 tháng 12, 2013

Using SQLite 3 with Flask




SQLite 3 sử dụng để mở các database connection  và đóng chúng lại khi tắt context. Khi chúng ta mở một database connection thì sẽ sinh ra một connection object() được gọi là db

Một ví dụ:

import sqlite3
from flask import g

DATABASE = '/path/to/database.db'

def get_db():
    db = getattr(g, '_database', None)
    if db is None:
        db = g._database = connect_to_database()
    return db

@app.teardown_appcontext
def close_connection(exception):
    db = getattr(g, '_database', None)
    if db is not None:
        db.close()


Tất cả các application cần khi sử dụng database contection là một active app context. Get_db() function có thể tạo ra một current database connection. Khi context bị hủy thì các database connection cũng sẽ bị ngăt


Initial schema:


Các kết nối Database cần các schema . các schema.sql file  tạo ra các database cho các app.
để tạo ra một database dựa trên một schema thì có thể dùng function sau:



def init_db():
    with app.app_context():
        db = get_db()
        with app.open_resource('schema.sql', mode = 'r') as f :
              db.cursor().executescript(f.read())
        db.comit()






























3 nhận xét:

  1. http://www.familug.org/2013/11/sqlite-la-mot-c-library.html

    Trả lờiXóa

  2. SQLite 3 sử dụng để mở các database connection và đóng chúng lại khi tắt context. Khi chúng ta mở một database connection thì sẽ sinh ra một connection object() được gọi là db

    cái gì sqlite3?
    kể cả nói đến module thì nó cũng không chỉ làm có việc đóng mở database connection. Viết thế là không hiểu.

    Trả lờiXóa
  3. đã đến lúc học cái tutorial này
    http://www.w3schools.com/sql/
    khá dài, nhưng đủ, và sẽ dùng.

    Trả lờiXóa