How to run sqlacodegen?

python, sqlacodegen, sqlalchemy

Solution

It is because you did this in Python shell:

>>> import sqlacodegen
>>> sqlacodegen --help
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: bad operand type for unary -: '_Helper'

You should have executed `sqlacodegen --help` in your Unix command shell / Windows command prompt:

% sqlacodegen --help
usage: sqlacodegen [-h] [--version] [--schema SCHEMA] [--tables TABLES]
                   [--noviews] [--noindexes] [--noconstraints] [--nojoined]
                   [--noinflect] [--outfile OUTFILE]
                   [url]

Generates SQLAlchemy model code from an existing database.

positional arguments:
  url                SQLAlchemy url to the database

optional arguments:
  -h, --help         show this help message and exit
  --version          print the version number and exit
  --schema SCHEMA    load tables from an alternate schema
  --tables TABLES    tables to process (comma-separated, default: all)
  --noviews          ignore views
  --noindexes        ignore indexes
  --noconstraints    ignore constraints
  --nojoined         don't autodetect joined table inheritance
  --noinflect        don't try to convert tables names to singular form
  --outfile OUTFILE  file to write output to (default: stdout)

An example of the actual command would then be:

% sqlacodegen --outfile models.py \
postgresql://gollyjer:swordfish@localhost:5432/mydatabase

Where `gollyjer:swordfish` are your credentials in the format `user:password`.

Problem

I'm trying to run sqlacodegen to create a SQLAlchemy model from an existing PostgreSQL database. It won't run. When I type `sqlacodegen --help` I get: ``` Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: bad operand type for unary -: '_Helper' ``` Basic instructions are here. How do you get sqlacodegen to run?

Original source

Related problems