예제 #1
0
파일: env.py 프로젝트: leplatrem/ctms-api
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.

    """
    connectable, _ = get_db_engine(settings)

    with connectable.connect() as connection:
        context.configure(
            connection=connection,
            target_metadata=target_metadata,
            compare_server_default=True,
            compare_type=True,
        )

        with context.begin_transaction():
            context.run_migrations()
예제 #2
0
def ingest_object(db_session, obj):
    """Ingest a Stripe object."""

    try:
        ingest_stripe_object(db_session, obj)
    except StripeIngestUnknownObjectError:
        logger.info("Skipping %s %s", obj["object"], obj["id"])
    else:
        logger.info("Ingested %s %s", obj["object"], obj["id"])
        db_session.commit()


def get_parser():
    the_parser = argparse.ArgumentParser(
        description="Load Stripe data from JSON")
    the_parser.add_argument("filenames",
                            metavar="data.json",
                            nargs="+",
                            help="Stripe data to load")
    return the_parser


if __name__ == "__main__":
    config_settings = config.Settings()
    engine, session_factory = get_db_engine(config_settings)
    session = session_factory()
    parser = get_parser()
    args = parser.parse_args()
    logging.basicConfig(level=logging.INFO)
    main(session, args.filenames)
예제 #3
0
                    canonical_mapping,
                    skip_writes,
                ))

    inputs.amo = chain(*amos)
    inputs.emails = chain(*emails)
    inputs.fxa = chain(*fxas)
    inputs.newsletters = chain(*newsletters)
    inputs.vpn_waitlist = chain(*vpn_waitlists)
    try:
        inputs.finalize()
    except BaseException as e:  # pylint:disable = W0703
        print(e)
        return 1

    ingester = Ingester(inputs, db, args.batch_size, total_inputs=total)
    ingester.run()

    return 0


if __name__ == "__main__":
    # Get the database
    config_settings = config.Settings()
    engine, _ = get_db_engine(config_settings)

    with engine.connect() as connection:
        ret = main(connection, config_settings)  # pylint:disable = C0103

    sys.exit(ret)