code style changes
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing

This commit is contained in:
mitsuha_s 2022-08-21 19:17:44 +03:00
parent 8766e36aa6
commit 8d4aa91d6f
3 changed files with 23 additions and 23 deletions

View file

@ -3,10 +3,8 @@ import psycopg2
from psycopg2.extensions import connection from psycopg2.extensions import connection
from psycopg2.extras import DictCursor, DictRow from psycopg2.extras import DictCursor, DictRow
from exceptions import DisplayableException from exceptions import DisplayableException
from yoyo import read_migrations, get_backend
from rss import FeedItem from rss import FeedItem
from yoyo import read_migrations
from yoyo import get_backend
class Database: class Database:
"""Implement interaction with the database.""" """Implement interaction with the database."""
@ -17,7 +15,7 @@ class Database:
self.log.debug('Database.__init__(DSN=\'%s\')', dsn) self.log.debug('Database.__init__(DSN=\'%s\')', dsn)
self.conn: connection = psycopg2.connect(dsn) self.conn: connection = psycopg2.connect(dsn)
self.cur: DictCursor = self.conn.cursor(cursor_factory=DictCursor) self.cur: DictCursor = self.conn.cursor(cursor_factory=DictCursor)
self.__migration(dsn) self.__migrate(dsn)
def add_user(self, telegram_id: int) -> int: def add_user(self, telegram_id: int) -> int:
"""Add a user's telegram id to the database and return its database id.""" """Add a user's telegram id to the database and return its database id."""
@ -158,7 +156,7 @@ class Database:
'INSERT INTO feeds_last_items (feed_id, url, guid) VALUES (%s, %s, %s)', new_items) 'INSERT INTO feeds_last_items (feed_id, url, guid) VALUES (%s, %s, %s)', new_items)
self.conn.commit() self.conn.commit()
def __migration(self, dsn: str) -> None: def __migrate(self, dsn: str) -> None:
backend = get_backend(dsn) backend = get_backend(dsn)
migrations = read_migrations('./migrations') migrations = read_migrations('./migrations')

View file

@ -1,18 +0,0 @@
from yoyo import step
steps = [
step('CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, telegram_id INTEGER NOT NULL UNIQUE)'),
step('CREATE TABLE IF NOT EXISTS feeds (id SERIAL PRIMARY KEY, url TEXT NOT NULL UNIQUE)'),
step('CREATE TABLE IF NOT EXISTS subscriptions ('
' user_id INTEGER REFERENCES users,'
' feed_id INTEGER REFERENCES feeds,'
' UNIQUE (user_id, feed_id)'
')'
),
step('CREATE TABLE IF NOT EXISTS feeds_last_items ('
' feed_id INTEGER REFERENCES feeds ON DELETE CASCADE,'
' url TEXT NOT NULL,'
' guid TEXT'
')'
)
]

View file

@ -0,0 +1,20 @@
from yoyo import step
steps = [
step('CREATE TABLE IF NOT EXISTS users (id SERIAL PRIMARY KEY, telegram_id INTEGER NOT NULL UNIQUE)'),
step('CREATE TABLE IF NOT EXISTS feeds (id SERIAL PRIMARY KEY, url TEXT NOT NULL UNIQUE)'),
step(
'CREATE TABLE IF NOT EXISTS subscriptions ('
' user_id INTEGER REFERENCES users,'
' feed_id INTEGER REFERENCES feeds,'
' UNIQUE (user_id, feed_id)'
')'
),
step(
'CREATE TABLE IF NOT EXISTS feeds_last_items ('
' feed_id INTEGER REFERENCES feeds ON DELETE CASCADE,'
' url TEXT NOT NULL,'
' guid TEXT'
')'
)
]