def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('user_participation', sa.Column('user_uid', sa.Integer(), nullable=False), sa.Column('issue_uid', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['issue_uid'], ['issues.uid'], ), sa.ForeignKeyConstraint( ['user_uid'], ['users.uid'], ), sa.PrimaryKeyConstraint('user_uid', 'issue_uid')) # ### end Alembic commands ### DBDiscussionSession.remove() DBDiscussionSession.configure(bind=op.get_bind()) db_users: List[User] = DBDiscussionSession.query(User).all() for db_user in db_users: issue_slugs = set( [history.path.split('/', 2)[1] for history in db_user.history]) issues: List[Issue] = DBDiscussionSession.query(Issue).filter( Issue.slug.in_(issue_slugs)) db_user.participates_in.extend(issues) transaction.commit()
def upgrade(): DBDiscussionSession.remove() DBDiscussionSession.configure(bind=op.get_bind()) # ### commands auto generated by Alembic - please adjust! ### op.create_table( 'statement_to_issue', sa.Column('uid', sa.Integer(), nullable=False), sa.Column('statement_uid', sa.Integer(), nullable=False), sa.Column('issue_uid', sa.Integer(), nullable=False), sa.ForeignKeyConstraint( ['statement_uid'], ['statements.uid'], ), sa.ForeignKeyConstraint( ['issue_uid'], ['issues.uid'], ), sa.PrimaryKeyConstraint('uid')) connection = op.get_bind() for db_statement in DBDiscussionSession.query(Statement).all(): issue_uid = connection.execute( text(""" SELECT issue_uid FROM statements WHERE uid = :statement_uid """), {'statement_uid': db_statement.uid}) DBDiscussionSession.add( StatementToIssue(statement=db_statement.uid, issue=issue_uid.first()[0])) DBDiscussionSession.flush() transaction.commit() op.drop_column('statements', 'issue_uid')
def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.create_table('user_participation', sa.Column('user_uid', sa.Integer(), nullable=False), sa.Column('issue_uid', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['issue_uid'], ['issues.uid'], ), sa.ForeignKeyConstraint(['user_uid'], ['users.uid'], ), sa.PrimaryKeyConstraint('user_uid', 'issue_uid') ) # ### end Alembic commands ### DBDiscussionSession.remove() DBDiscussionSession.configure(bind=op.get_bind()) issue_query = "SELECT issues.uid, issues.slug FROM discussion.public.issues" slug2uid = {slug: uid for (uid, slug) in DBDiscussionSession.execute(issue_query).fetchall()} history_query = "SELECT history.author_uid, history.path FROM discussion.public.history;" historys = DBDiscussionSession.execute(history_query).fetchall() insert_query = "INSERT INTO discussion.public.user_participation (user_uid, issue_uid) VALUES (?, ?) ON CONFLICT DO NOTHING;" for author_uid, path in historys: # /discuss/<slug>/ ... slug = path.split('/', 2)[1] # in case that the line above gets something weird (path IS sometimes malformed) issue_id = slug2uid.get(slug) if issue_id: DBDiscussionSession.execute(insert_query, author_uid, issue_id) transaction.commit()
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_chameleon') settings = add_settings_to_appconfig() settings.update(get_key_pair()) DBDiscussionSession.remove() DBDiscussionSession.configure( bind=get_dbas_db_configuration('discussion', settings))
def setUp(self): time.sleep(8) settings = add_settings_to_appconfig() DBDiscussionSession.configure(bind=get_dbas_db_configuration('discussion', settings))
def setup_package(): settings = add_settings_to_appconfig() DBDiscussionSession.remove() DBDiscussionSession.configure( bind=get_dbas_db_configuration('discussion', settings))
def setUp(self): self.config = testing.setUp(settings=_settings_dict_for_tests()) self.config.include('pyramid_chameleon') settings = add_settings_to_appconfig() DBDiscussionSession.remove() DBDiscussionSession.configure(bind=get_dbas_db_configuration('discussion', settings))