Update how_to_update_views.md
This commit is contained in:
parent
b93dd4ba5e
commit
9cb172acd3
@ -64,6 +64,31 @@ WHERE c.relkind = 'v'
|
||||
AND c.relname IN ('document_details', 'author_documents');
|
||||
|
||||
```
|
||||
получим вывод
|
||||
```csv
|
||||
"create_script"
|
||||
"CREATE OR REPLACE VIEW public.author_documents AS SELECT a.name AS author_name,
|
||||
a.email,
|
||||
dd.doc_id,
|
||||
dd.title,
|
||||
dd.type_name,
|
||||
dd.content,
|
||||
dd.updated_at
|
||||
FROM authors a
|
||||
JOIN document_authors da ON a.author_id = da.author_id
|
||||
JOIN document_details dd ON da.doc_id = dd.doc_id;;"
|
||||
"CREATE OR REPLACE VIEW public.document_details AS SELECT d.doc_id,
|
||||
d.title,
|
||||
dt.type_name,
|
||||
ldv.content,
|
||||
ldv.updated_at,
|
||||
d.created_at
|
||||
FROM documents d
|
||||
JOIN document_types dt ON d.type_id = dt.type_id
|
||||
LEFT JOIN latest_document_versions ldv ON d.doc_id = ldv.doc_id;;"
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 3. Получить корректный порядок удаления
|
||||
@ -104,4 +129,33 @@ ORDER BY object_type DESC;
|
||||
### 4. Удалить полученным скриптом из п.3 представление
|
||||
```sql
|
||||
DROP VIEW IF EXISTS public.document_details CASCADE;
|
||||
```
|
||||
```
|
||||
|
||||
### 5. Обновляем document_details с измененной структурой
|
||||
```sql
|
||||
CREATE OR REPLACE VIEW public.document_details AS
|
||||
SELECT
|
||||
d.doc_id,
|
||||
d.title,
|
||||
dt.type_name,
|
||||
ldv.content,
|
||||
ldv.updated_at,
|
||||
d.created_at -- Добавили поле created_at
|
||||
FROM documents d
|
||||
JOIN document_types dt ON d.type_id = dt.type_id
|
||||
LEFT JOIN latest_document_versions ldv ON d.doc_id = ldv.doc_id;
|
||||
```
|
||||
|
||||
### 6. Восстанавливаем необходимое, скриптами из п.2
|
||||
```sql
|
||||
CREATE OR REPLACE VIEW public.author_documents AS SELECT a.name AS author_name,
|
||||
a.email,
|
||||
dd.doc_id,
|
||||
dd.title,
|
||||
dd.type_name,
|
||||
dd.content,
|
||||
dd.updated_at
|
||||
FROM authors a
|
||||
JOIN document_authors da ON a.author_id = da.author_id
|
||||
JOIN document_details dd ON da.doc_id = dd.doc_id;
|
||||
```
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user