$ open source · GPL-3.0 — need a commercial license? imqueue.com →

SyncOptions.withoutDrop property

Replaces each view in place instead of dropping it first.

Signature:

withoutDrop?: boolean;

Remarks

The default drops a view and creates it again, which fails as soon as another view selects from it — Postgres will not drop a view something depends on. With this set, only the model's own create statement runs, so it has to be written as CREATE OR REPLACE VIEW to succeed against a view that already exists. Postgres will still refuse a replacement whose output columns differ in name, type or order, so a column added to the middle of a view needs the drop.