def engine_from_settings(config, full_config=False): settings = get_appsettings(config, 'assembl') if settings['sqlalchemy.url'].startswith('virtuoso:'): db_schema = '.'.join((settings['db_schema'], settings['db_user'])) else: db_schema = settings['db_schema'] set_config(settings, True) session = None if full_config: env = bootstrap(config) configure_zmq(settings['changes_socket'], False) configure_indexing() configure_model_watcher(env['registry'], 'assembl') logging.config.fileConfig(config) session = get_session_maker() metadata = get_metadata() else: session = make_session_maker(zope_tr=True) import assembl.models from assembl.lib.sqla import class_registry engine = configure_engine(settings, session_maker=session) metadata = get_metadata() metadata.bind = engine session = sessionmaker(engine)() return (metadata, session)
def main(): config_fname = sys.argv[1] settings = get_appsettings(config_fname, 'assembl') set_config(settings) logging.config.fileConfig(config_fname) configure_zmq(settings['changes_socket'], False) configure_engine(settings, True) session = get_session_maker()() add_semantic_analysis_tab_to_all_discussions(session)
def main(): parser = argparse.ArgumentParser() parser.add_argument("configuration", help="The configuration of the application.", default="local.ini") args = parser.parse_args() env = bootstrap(args.configuration) settings = get_appsettings(args.configuration, 'assembl') set_config(settings) configure_zmq(settings['changes_socket'], False) configure_model_watcher(env['registry'], 'assembl') _ = configure_engine(settings, True) try: from assembl.graphql.schema import Schema, generate_schema_json_from_schema generate_schema_json_from_schema(Schema, spec_wrap=True) except Exception as _: traceback.print_exc() pdb.post_mortem()
def main(): parser = argparse.ArgumentParser() parser.add_argument( "configuration", help="configuration file with destination database configuration") args = parser.parse_args() settings = get_appsettings(args.configuration, 'assembl') set_config(settings) logging.config.fileConfig(args.configuration) configure_zmq(settings['changes.socket'], False) configure_engine(settings, True) session = get_session_maker()() try: reindex_all_contents(session) transaction.commit() except Exception as e: traceback.print_exc() pdb.post_mortem()
def engine_from_settings(config, full_config=False): settings = get_appsettings(config, 'idealoom') db_schema = settings['db_schema'] set_config(settings, True) session = None if full_config: env = bootstrap(config) configure_zmq(settings['changes_socket'], False) configure_model_watcher(env['registry'], 'idealoom') logging.config.fileConfig(config) else: session = make_session_maker(zope_tr=True) import assembl.models from assembl.lib.sqla import class_registry engine = configure_engine(settings, session_maker=session) metadata = get_metadata() metadata.bind = engine session = sessionmaker(engine)() return (metadata, session)
def main(): parser = argparse.ArgumentParser() parser.add_argument( "configuration", help="configuration file with destination database configuration") args = parser.parse_args() env = bootstrap(args.configuration) settings = get_appsettings(args.configuration, 'assembl') set_config(settings) logging.config.fileConfig(args.configuration) configure_zmq(settings['changes_socket'], False) configure_indexing() configure_engine(settings, True) session = get_session_maker()() try: reindex_all_contents(session) transaction.commit() except Exception as e: traceback.print_exc() pdb.post_mortem()
help="This table's fkeys will be rebuilt.") parser.add_argument("--rebuild_all_fkeys", action="store_true", default=False, help="All tables fkeys will be rebuilt.") parser.add_argument("--rebuild_all_tables", action="store_true", default=False, help="All tables will be rebuilt.") parser.add_argument("--ensure_inheritance", action="store_true", default=False, help="Make sure no class has a missing subclass row.") parser.add_argument("-d", "--delete_missing", action="store_true", default=False, help="Delete rows with missing corresponding values. (otherwise abort rebuild.)") parser.add_argument("--reset_extract_discussion", action="store_true", default=False, help="Special case: rebuild a dependent foreign key on extract table") args = parser.parse_args() settings = get_appsettings(args.configuration, 'assembl') set_config(settings) logging.config.fileConfig(args.configuration) configure_zmq(settings['changes_socket'], False) configure_indexing() configure_engine(settings, True) session = get_session_maker()() import assembl.models try: if (args.reset_extract_discussion and session.query(assembl.models.Extract).filter_by(discussion_id=-1).count()): session.execute("""UPDATE "extract" SET discussion_id = ( SELECT content.discussion_id FROM content JOIN idea_content_link on (content_id=content.id) JOIN "extract" on ("extract".id = idea_content_link.id) WHERE "extract".discussion_id=-1)""") if args.rebuild_all_tables: rebuild_all_tables(session, args.delete_missing) elif args.rebuild_all_fkeys:
from assembl.semantic import upgrade_semantic_mapping # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config # Interpret the config file for Python logging. # This line sets up loggers basically. fileConfig(config.config_file_name) _settings = config.file_config._sections['app:idealoom'] # Add a marker that we're in alembic, some things need not happen _settings['in_alembic'] = True set_config(_settings) pyramid_env = bootstrap(config.config_file_name) configure_zmq(pyramid_env['registry'].settings['changes_socket'], False) configure_engine(pyramid_env['registry'].settings, False) def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ engine = get_session_maker().bind connection = engine.connect() context.configure(connection=connection, target_metadata=get_metadata())
from assembl.lib.config import set_config from assembl.indexing.changes import configure_indexing from assembl.lib.migration import bootstrap_db_data # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config # Interpret the config file for Python logging. # This line sets up loggers basically. fileConfig(config.config_file_name) _config = config.file_config._sections['app:assembl'] _config['in_migration'] = True set_config(_config) pyramid_env = bootstrap(config.config_file_name) configure_zmq(pyramid_env['registry'].settings['changes_socket'], False) configure_engine(pyramid_env['registry'].settings, False) configure_indexing() def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ session_maker = get_session_maker() engine = session_maker.bind connection = engine.connect() context.configure(connection=connection,
"--delete_missing", action="store_true", default=False, help="Delete rows with missing corresponding values. (otherwise abort rebuild.)", ) parser.add_argument( "--reset_extract_discussion", action="store_true", default=False, help="Special case: rebuild a dependent foreign key on extract table", ) args = parser.parse_args() settings = get_appsettings(args.configuration, "assembl") set_config(settings) logging.config.fileConfig(args.configuration) configure_zmq(settings["changes.socket"], False) configure_engine(settings, True) session = get_session_maker()() import assembl.models try: if args.reset_extract_discussion and session.query(assembl.models.Extract).filter_by(discussion_id=-1).count(): session.execute( """UPDATE "extract" SET discussion_id = ( SELECT content.discussion_id FROM content JOIN idea_content_link on (content_id=content.id) JOIN "extract" on ("extract".id = idea_content_link.id) WHERE "extract".discussion_id=-1)""" ) if args.rebuild_all_tables: rebuild_all_tables(session, args.delete_missing)