/
runesmaker
/
bookbase
Обзор
Документация
Войти
/
runesmaker
/
bookbase
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
database.py
63 строки
2 KB
pivnenkoanton0
feat: скрипт инициализации базы данных
14 июн 2026, 13:24
14 июн 2026, 13:24
1983dca
Код
Авторство
О чём код?
import sqlite3 from datetime import datetime # Имя файла базы данных DB_NAME = "library.db" def get_db_connection(): """ Создает и возвращает подключение к базе данных. Устанавливает row_factory = sqlite3.Row, чтобы результаты запросов можно было легко превращать в словари (для JSON в FastAPI). """ conn = sqlite3.connect(DB_NAME) conn.row_factory = sqlite3.Row return conn def init_db(): """ Инициализирует базу данных: создает таблицу books, если её еще нет. """ conn = get_db_connection() cursor = conn.cursor() # SQL-запрос для создания таблицы с нашими полями create_table_query = """ CREATE TABLE IF NOT EXISTS books ( id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, author TEXT NOT NULL, isbn TEXT, publisher TEXT, publish_year INTEGER, language TEXT DEFAULT 'Русский', pages INTEGER, genre TEXT, series TEXT, series_number INTEGER, binding TEXT, book_format TEXT, condition TEXT, location TEXT, status TEXT DEFAULT 'Планирую', rating REAL, date_finished TEXT, notes TEXT, is_favorite INTEGER DEFAULT 0, created_at TEXT DEFAULT CURRENT_TIMESTAMP, updated_at TEXT DEFAULT CURRENT_TIMESTAMP ) """ cursor.execute(create_table_query) conn.commit() conn.close() print("База данных инициализирована. Таблица 'books' готова.") # Этот блок позволяет запустить файл напрямую для проверки: # python database.py if __name__ == "__main__": init_db()