def main():
    usage = """Data Model DDL and ERD Generator

    Usage: main.py (ddl | erd | start | test) [<args>...]

    """  # noqa

    from docopt import docopt

    # Ignore command name.
    argv = sys.argv[1:]

    args = docopt(usage, argv=argv, version=__version__, options_first=True)

    # Trim subcommand.
    sub_argv = argv[1:]

    if args['ddl']:
        ddl.main(sub_argv)
    elif args['erd']:
        erd.main(sub_argv)
    elif args['start']:
        service.main(sub_argv)
    elif args['test']:
        test.main(sub_argv)
def delete_route(model, version, dialect):

    args = ['-r', '-x', model, version, dialect]
    ddl_str = ddl.main(args)

    resp = Response(ddl_str, status='200 OK', mimetype='text/plain')

    return resp
def drop_route(model, version, dialect, elements):

    args = []

    if elements == 'tables':
        args.extend(['-c', '-i'])

    if elements == 'constraints':
        args.extend(['-t', '-i'])

    if elements == 'indexes':
        args.extend(['-t', '-c'])

    args.extend(['-r', '-d', model, version, dialect])
    ddl_str = ddl.main(args)

    resp = Response(ddl_str, status='200 OK', mimetype='text/plain')

    return resp