...

/

Foreign Key: Postgres

Foreign Key: Postgres

Learn about foreign keys using SQLAlchemy in Postgres.

SQLAlchemy: Postgres vs. SQLite

When running on Postgres, the pragma command is not only unnecessary, but it also raises an error through SQLAlchemy. This is a shortcoming of SQLAlchemy. It’s supposed to provide a seamless interface that works across databases. Mostly, it is successful, but here the illusion breaks down. One reasonable option is to keep track of whether the connection is SQLite or Postgres, and run the pragma command only when it is SQLite. Another option is to always run the pragma but put it in a try-except clause and ignore any ProgrammingError exception.

Another difference between SQLite and Postgres is the explanatory text given when a foreign constraint violation is attempted. To compare in Postgres, we drop the pragma line and use the Postgres connection string.

connection_string = "postgresql://localhost:5432/books"

The new outcome still involves the ...

Access this course and 1400+ top-rated courses and projects.