Improve documentation about TLE upgrades
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 28/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- postgresql
- Lĩnh vực
- databases, documentation
Hướng nghiên cứu
Bắt đầu bằng việc xem xét các câu hỏi về nâng cấp và issue #158 được liên kết, tập trung vào người dùng, sau đó tập hợp hành vi nâng cấp TLE hiện có và hướng dẫn từ dự án. Ghi lại các đường dẫn nâng cấp được hỗ trợ, các yêu cầu về an toàn dữ liệu, các thực tiễn di chuyển, các cảnh báo và các ví dụ để cả tác giả TLE lẫn người dùng có thể hiểu cách viết và áp dụng các bản nâng cấp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Improve documentation
I do not see a page which addresses or explains how TLE updates are supposed to be written and applied
Describe the problem
As a developer, I cannot figure out how to safely write a new version:
- Do I have to assume that the users may already have a previous version installed? This means using defensive statements like "create table if not exists" and "create or replace view". What if I have multiple previous versions? Do I need to account for all of these? (this would be increasingly unmaintainable over time)
- What if my users have data that they have stored in tables my extension has created? How can I know the right way to migrate such data? Is there some way I can warn users before "resetting" things?
- What if the new version tries to modify something that is restricted? For instance, a constraint/primary key that needs modifying may have to be dropped before being recreated but cannot be done while there is data that references it. In this case, I have no way to modify the constraint other than to drop table data.
As a user, I cannot tell how to upgrade a TLE or what to expect when I do. For example:
- Do I have to update in sequence or can I skip versions and jump from 1.0 to 6.0 and let dbdev figure it out?
- Is any of my data at risk? What if the TLE created tables when I first installed it? Will those table persist or be destroyed/recreated? Is this up to the author? If so, how do I protect myself from bad updates?
Describe the improvement
I would like extensive documentation and examples of how devs are expecting to write and provide TLE updates. I would also like a list of best practices, warnings, errors, and dangers that could result from not following the guidelines. Overall this system currently feels opaque and risky for both devs and users.
Additional context
I was asked if I could provide my package as a TLE, which I did but I am now unsure how to update it. I asked a while ago but didn't get a response and now my users are asking me. I also have an update I'd like to push. This also overlaps the user-focused issue here.
- Ngôn ngữ chính
- TypeScript
- Star
- 442
- Fork
- 31
- Merge trung bình
- 1 giờ 23 phút
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của supabase/dbdev
-
how does dbdev compare to pgxn?Đang mởdocumentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
extensions page to list all extensionsCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
Tất cả issue của supabase/dbdev
Issue tương tự
-
effort:S priority:P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
cameri/nostream#811 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
dam-agents/dam#4562 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug p3 triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug javascript P2-medium python release:v3.1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
adrirubio/claude-deck#546 ·
Maintainer thường phản hồi trong vòng 1 ngày