Databases¶
Two databases are supported: sqlite and postgresql. The database URLs follow the django url convention. The following features are supported in both databases:
- Schema parsing of tables, columns, primary keys, foreign keys and unique indexes
- Compound primary and foreign keys
- SQL generation
Sqlite¶
Use the sqlite:/// prefix in front of the path name.
For a relative path use e.g.
sqlite:///test-db.sqlite3
For an absolute path use e.g.
sqlite:////var/lib/databases/test-db.sqlite3
Postgresql¶
A full postgresql URL is something like:
postgresql://user:password@host:port/dbname
host and dbname are required and password and port are optional. This is e.g. a valid url
postgresql://test_user@localhost/test_database
The generated SQL always starts with a BEGIN, ends with a COMMIT and has an extra \set ON_ERROR_STOP for convenience, so that a full SQL result looks something like:
BEGIN;
\set ON_ERROR_STOP
INSERT INTO ...
COMMIT;