2013-04-14 36 views
5

Ví dụ: tôi đã lưu {id, name} bằng chứng mất trí nhớ và muốn cập nhật thành {id, name, age}, tôi có phải gọi số transform_table mỗi lần tôi thay đổi giản đồ không?Cách đơn giản nhất để cập nhật lược đồ mnesia là gì?

+2

Bạn còn mong đợi điều gì khác để có thể làm? Bạn phải thay đổi bảng thông qua một số cuộc gọi chức năng, phải không? transform_table/{3-4} cung cấp cho bạn một số tùy chọn để thay đổi cách tiếp cận để điều chỉnh giản đồ mặc dù. – d11wtq

+1

có. bạn phải biến đổi bảng đó –

+0

Liệu transform_table có mất nhiều thời gian khi bảng miaia phát triển rất lớn? Nếu như vậy, nó sẽ ảnh hưởng đến lợi ích của việc nâng cấp mã nóng. Nếu thông qua một giải pháp khác, hãy theo dõi phiên bản ghi và chỉ nâng cấp các bản ghi được tải, có thể làm cho mã nâng cấp tẻ nhạt và dễ bị lỗi. –

Trả lời

1

Cách đơn giản nhất là xóa bảng và tạo lại bảng. Nếu bạn cần giữ dữ liệu trong bảng, mnesia:transform_table là cách để đi.

+1

Bạn có nghĩ rằng việc xóa và tạo lại các bảng có thể phá vỡ hệ thống sản xuất hay không. –

+0

Trong hầu hết các trường hợp, có, trừ khi bạn làm cho nó không truy cập cơ sở dữ liệu trong khi bạn đang tái tạo các bảng. 'transform_table' tránh những vấn đề như vậy. – legoscia

+0

Yep, transform_table là cách tiếp cận tốt để giải quyết vấn đề đó. Tôi chỉ đưa ra một viễn cảnh rộng hơn cho câu trả lời. –

Các vấn đề liên quan