diff --git a/models/news.py b/models/news.py new file mode 100644 index 0000000..5270681 --- /dev/null +++ b/models/news.py @@ -0,0 +1,16 @@ +from settings.config import SQLACHEMY +from sqlalchemy import Table +from sqlalchemy.orm import declarative_base + +Base = declarative_base() + +class ViewedNews(Base): + """ + Viewed news model class. + """ + __table__ = Table( + "viewed_news", + Base.metadata, + autoload=True, + autoload_with=SQLACHEMY + ) diff --git a/utils/database.py b/utils/database.py index 83ca981..8e7ebc9 100644 --- a/utils/database.py +++ b/utils/database.py @@ -52,9 +52,11 @@ def migrate() -> None: ) character set utf8mb4 collate utf8mb4_general_ci; - create table if not exists files_bloob( + create table if not exists viewed_news( id int auto_increment primary key, - file blob not null + title varchar(500) not null unique, + published_at date not null, + index viewed_idx(title, published_at) ) character set utf8mb4 collate utf8mb4_general_ci; ''' try: @@ -62,24 +64,12 @@ def migrate() -> None: cursor.execute(_sql) except Exception as ex: logger.error(ex.args) - else: - _sql = ''' - alter table neeble_quotes - add column file_id int unique null, - add foreign key file_id(neeble_quotes) references files_bloob(id) on delete cascade; - ''' - try: - with Cursor(MYSQL_CONFIG) as cursor: - cursor.execute(_sql) - except Exception as ex: - logger.error(ex.args) def set_quote(user: str, quote: str) -> int: """ Set a quote into database. """ - qt = Quotes(quote=quote, user=user,) qtid = 0 with Session(SQLACHEMY) as session: