ADD viewed news table to control the viewed news.

pull/3/head
kevin.caires 3 years ago
parent 2b91f391a3
commit e4421a1231

@ -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
)

@ -52,9 +52,11 @@ def migrate() -> None:
) character set utf8mb4 collate utf8mb4_general_ci; ) 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, 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; ) character set utf8mb4 collate utf8mb4_general_ci;
''' '''
try: try:
@ -62,24 +64,12 @@ def migrate() -> None:
cursor.execute(_sql) cursor.execute(_sql)
except Exception as ex: except Exception as ex:
logger.error(ex.args) 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: def set_quote(user: str, quote: str) -> int:
""" """
Set a quote into database. Set a quote into database.
""" """
qt = Quotes(quote=quote, user=user,) qt = Quotes(quote=quote, user=user,)
qtid = 0 qtid = 0
with Session(SQLACHEMY) as session: with Session(SQLACHEMY) as session:

Loading…
Cancel
Save