stellar/command.py
def restore(name):
    """Restores the database from a snapshot"""
    app = get_app()

    if not name:
        snapshot = app.get_latest_snapshot()
        if not snapshot:
            click.echo(
                "Couldn't find any snapshots for project %s" %
                load_config()['project_name']
            )
            sys.exit(1)
    else:
        snapshot = app.get_snapshot(name)
        if not snapshot:
            click.echo(
                "Couldn't find snapshot with name %s.\n"
                "You can list snapshots with 'stellar list'" % name
            )
            sys.exit(1)

    # Check if slaves are ready
    if not snapshot.slaves_ready:
        if app.is_copy_process_running(snapshot):
            sys.stdout.write(
                'Waiting for background process(%s) to finish' %
                snapshot.worker_pid
            )
            sys.stdout.flush()
            while not snapshot.slaves_ready:
                sys.stdout.write('.')
                sys.stdout.flush()
                sleep(1)
                app.db.session.refresh(snapshot)
            click.echo('')
        else:
            click.echo('Background process missing, doing slow restore.')
            app.inline_slave_copy(snapshot)

    app.restore(snapshot)
    click.echo('Restore complete.')
def restore(name):
    app = get_app()

    if not name:
        snapshot = app.get_latest_snapshot()
        if not snapshot:
            click.echo(
                "Couldn't find any snapshots for project %s" %
                load_config()['project_name']
            )
            sys.exit(1)
    else:
        snapshot = app.get_snapshot(name)
        if not snapshot:
            click.echo(
                "Couldn't find snapshot with name %s.\n"
                "You can list snapshots with 'stellar list'" % name
            )
            sys.exit(1)

    # Check if slaves are ready
    if not snapshot.slaves_ready:
        if app.is_copy_process_running(snapshot):
            sys.stdout.write(
                'Waiting for background process(%s) to finish' %
                snapshot.worker_pid
            )
            sys.stdout.flush()
            while not snapshot.slaves_ready:
                sys.stdout.write('.')
                sys.stdout.flush()
                sleep(1)
                app.db.session.refresh(snapshot)
            click.echo('')
        else:
            click.echo('Background process missing, doing slow restore.')
            app.inline_slave_copy(snapshot)

    app.restore(snapshot)
    click.echo('Restore complete.')
def restore ( name ) : app = get_app ( ) if not name : snapshot = app . get_latest_snapshot ( ) if not snapshot : click . echo ( "Couldn't find any snapshots for project %s" % load_config ( ) [ 'project_name' ] ) sys . exit ( 1 ) else : snapshot = app . get_snapshot ( name ) if not snapshot : click . echo ( "Couldn't find snapshot with name %s.\n" "You can list snapshots with 'stellar list'" % name ) sys . exit ( 1 ) # Check if slaves are ready if not snapshot . slaves_ready : if app . is_copy_process_running ( snapshot ) : sys . stdout . write ( 'Waiting for background process(%s) to finish' % snapshot . worker_pid ) sys . stdout . flush ( ) while not snapshot . slaves_ready : sys . stdout . write ( '.' ) sys . stdout . flush ( ) sleep ( 1 ) app . db . session . refresh ( snapshot ) click . echo ( '' ) else : click . echo ( 'Background process missing, doing slow restore.' ) app . inline_slave_copy ( snapshot ) app . restore ( snapshot ) click . echo ( 'Restore complete.' )
Restores the database from a snapshot
Restores the database from a snapshot