- Notifications
You must be signed in to change notification settings - Fork 978
Description
Version
1.22.0
What happened?
I have to update the query that backs a materialized view.
To do this, I create a new temporary materialized view, view_2, drop the old view, view_1, and rename the temporary view to the old view's name.
I am renaming the temporary view using alter materialized view view_2 rename to view_1.
When I run sqlc generate, SQLC states that the view_1 does not exist, when in fact it does, it's just been renamed.
For context, I need to create a temporary materialized view, as dropping and recreating a materialized view will block all reads to the view. This is a two-step process, done in separate migrations. Postgres does not support updating a materialized view's query.
Relevant log output
# package db query.sql:1:1: relation "view_1" does not existDatabase schema
create materialized view view_1 asselect x.*from (values(1), (1), (1)) as x; create materialized view view_2 asselect x.*from (values(2), (2), (2)) as x; drop materialized view view_1; alter materialized view view_2 rename to view_1;SQL queries
-- name: SelectView :manyselect*from view_1;Configuration
{"version": "2","sql": [{"schema": "schema.sql","queries": "query.sql","engine": "postgresql","gen": {"go": {"out": "db"}}}]}Playground URL
https://play.sqlc.dev/p/f5ae38a7ec5718c27c64bbc03eccf3f118b68bfdf5d163a3f9caa4296cdfe5bb
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go