Ошибка при создании книги webapi
Подскажите, где я ошибся? Возможно, ошибка банальная, но я её не вижу.
Ошибка:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: books
[SQL: INSERT INTO books (title, author, genre) VALUES (?, ?, ?)] [parameters: ('test', 'test', 'test')] (Background on this error at: https://sqlalche.me/e/20/e3q8)
Ответы (2 шт):
Автор решения: geo
→ Ссылка
Разбирайтесь, как вам создать таблицу book. Пример создания ниже:
import sqlite3
__db = 'lib.db' # it is simple emulation
__table = 'books'
__create_table_sql = (
f'create table if not exists {__table}'
f'('
f'title text,'
f'author text,'
f'genre text'
f')'
)
__insert_sql = f'insert into {__table} values(?,?,?)'
conn = sqlite3.connect(__db)
cur = conn.cursor()
cur.execute(__create_table_sql) #!!! create table, before using clause insert
cur.execute(__insert_sql,('test', 'test', 'test')) #you insert
Автор решения: Lamantine
→ Ссылка
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
user_name = Column(String, unique=True, index=True)
get_books = relationship("GetBook", back_populates="user")
class Book(Base):
__tablename__ = "books"
id = Column(Integer, primary_key=True, index=True)
title = Column(String, index=True)
author = Column(String, index=True)
genre = Column(String, index=True)
get_books = relationship("GetBook", back_populates="book")
class GetBook(Base):
__tablename__ = "get_books"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(Integer, ForeignKey("users.id"))
book_id = Column(Integer, ForeignKey("books.id"))
get_book_date = Column(DateTime)
status = Column(String, index=True)
user = relationship("User", back_populates="get_books")
book = relationship("Book", back_populates="get_books")
Base.metadata.create_all(bind=db_manager.create_engine())