forked from newthuhole/hole_thu_backend
9 changed files with 225 additions and 47 deletions
@ -0,0 +1,8 @@ |
|||||||
|
from hole import app |
||||||
|
from models import Post, db |
||||||
|
|
||||||
|
with app.app_context(): |
||||||
|
for post in Post.query: |
||||||
|
post.n_comments = len([c for c in post.comments if not c.deleted]) |
||||||
|
|
||||||
|
db.session.commit() |
@ -0,0 +1,22 @@ |
|||||||
|
from hole import app |
||||||
|
from models import SearchDB, Post, db |
||||||
|
|
||||||
|
search_db = SearchDB() |
||||||
|
search_db.execute("DROP TABLE IF EXISTS search_content;") |
||||||
|
search_db.execute("CREATE VIRTUAL TABLE search_content " |
||||||
|
"USING fts5(content, target_type UNINDEXED, target_id UNINDEXED, tokenize = 'simple');") |
||||||
|
|
||||||
|
with app.app_context(): |
||||||
|
for post in Post.query.filter_by(deleted=False): |
||||||
|
if post.search_text: |
||||||
|
search_db.insert(post.search_text, 'post', post.id) |
||||||
|
post.allow_search = True |
||||||
|
for comment in post.comments: |
||||||
|
if not comment.deleted: |
||||||
|
search_db.insert(comment.content, 'comment', comment.id) |
||||||
|
else: |
||||||
|
post.allow_search = False |
||||||
|
|
||||||
|
search_db.commit() |
||||||
|
del search_db |
||||||
|
db.session.commit() |
@ -0,0 +1,28 @@ |
|||||||
|
"""add n_comments |
||||||
|
|
||||||
|
Revision ID: 865bf933ea82 |
||||||
|
Revises: 9ac8682d438c |
||||||
|
Create Date: 2021-12-24 20:21:53.928842 |
||||||
|
|
||||||
|
""" |
||||||
|
from alembic import op |
||||||
|
import sqlalchemy as sa |
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic. |
||||||
|
revision = '865bf933ea82' |
||||||
|
down_revision = '9ac8682d438c' |
||||||
|
branch_labels = None |
||||||
|
depends_on = None |
||||||
|
|
||||||
|
|
||||||
|
def upgrade(): |
||||||
|
# ### commands auto generated by Alembic - please adjust! ### |
||||||
|
op.add_column('post', sa.Column('n_comments', sa.Integer(), nullable=True)) |
||||||
|
# ### end Alembic commands ### |
||||||
|
|
||||||
|
|
||||||
|
def downgrade(): |
||||||
|
# ### commands auto generated by Alembic - please adjust! ### |
||||||
|
op.drop_column('post', 'n_comments') |
||||||
|
# ### end Alembic commands ### |
@ -0,0 +1,28 @@ |
|||||||
|
"""add bool can_search |
||||||
|
|
||||||
|
Revision ID: 9ac8682d438c |
||||||
|
Revises: 91e5c7d37d43 |
||||||
|
Create Date: 2021-12-24 18:11:27.626988 |
||||||
|
|
||||||
|
""" |
||||||
|
from alembic import op |
||||||
|
import sqlalchemy as sa |
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic. |
||||||
|
revision = '9ac8682d438c' |
||||||
|
down_revision = '91e5c7d37d43' |
||||||
|
branch_labels = None |
||||||
|
depends_on = None |
||||||
|
|
||||||
|
|
||||||
|
def upgrade(): |
||||||
|
# ### commands auto generated by Alembic - please adjust! ### |
||||||
|
op.add_column('post', sa.Column('allow_search', sa.Boolean(), nullable=True)) |
||||||
|
# ### end Alembic commands ### |
||||||
|
|
||||||
|
|
||||||
|
def downgrade(): |
||||||
|
# ### commands auto generated by Alembic - please adjust! ### |
||||||
|
op.drop_column('post', 'allow_search') |
||||||
|
# ### end Alembic commands ### |
Loading…
Reference in new issue