TODO-app/app/db.py

35 lines
957 B
Python

import sqlite3
from flask import Flask
# =====================================================
# Database Helpers
# =====================================================
def get_db(app: Flask):
"""
Returnerar en SQLite-connection baserat på appens DB_PATH
"""
conn = sqlite3.connect(app.config["DB_PATH"])
conn.row_factory = sqlite3.Row
return conn
def init_db(app: Flask):
"""
Skapar databasen och todo-tabellen om den inte redan finns
"""
with get_db(app) as conn:
conn.execute(
"""
CREATE TABLE IF NOT EXISTS todo (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT NOT NULL,
status TEXT NOT NULL DEFAULT 'not-started'
CHECK (status IN ('not-started','in-progress','done')),
created TEXT NOT NULL,
edited TEXT
);
"""
)