Tôi đang sử dụng Flask cho máy chủ wsgi python của tôi và sqlalchemy cho tất cả truy cập cơ sở dữ liệu của tôi.sử dụng bình phương sqlalchemy mà không có cơ sở khai báo lớp con
I nghĩ Tôi muốn sử dụng phần mở rộng Flask-Sqlalchemy trong ứng dụng của mình, nhưng tôi không muốn sử dụng lớp cơ sở khai báo (db.Model), thay vào đó, tôi muốn sử dụng cơ sở từ sqlalchemy. ext.declarative.
Điều này có đánh bại toàn bộ mục đích của việc sử dụng tiện ích không?
trường hợp sử dụng của tôi:
Tôi muốn mở rộng để giúp tôi quản lý phiên/động cơ tốt hơn một chút, nhưng tôi muốn để xử lý tất cả các mô hình riêng biệt.
Tôi thực sự không bận tâm khi sử dụng tiện ích, nhưng tôi muốn viết mô hình nghiêm ngặt. Tôi đang chuyển mã từ một ứng dụng không bình, và tôi sẽ đẩy các thay đổi trở lại dự án đó khi tôi đi. Nếu bình phương sqlalchemy cho phép tôi lừa trên Bảng siêu dữ liệu chẳng hạn, điều đó sẽ gây ra sự cố khi mã bị đẩy lùi ra ngoài. Ngoài ra còn có các phần của mã của tôi mà làm rất nhiều loại kiểm tra (nhận dạng đa hình), và tôi cũng nhớ đọc rằng loại kiểm tra trên Bảng không được khuyến khích khi sử dụng phần mở rộng.
Phiên/bit động cơ của bạn đã giúp minh họa câu trả lời của bạn. Vì vậy, trong ứng dụng bình của tôi, tôi cần phải vượt qua phiên để sử dụng. Tôi có cần dọn dẹp phiên này theo bất kỳ cách nào sau mỗi lần sử dụng không? (Có thể sử dụng ** app.do_teardown_xxx **?) – user2097818
Với autoflush = True param trong sessionmaker không cần dọn dẹp. người dùng = Người dùng (email = "[email protected]") phiên.add (người dùng) session.commit() –
Tôi không có kế hoạch để chạy điều này trên nhiều chủ đề, nhưng tôi sẽ có các mô-đun rời rạc mỗi người sử dụng phiên mới của riêng họ. Tôi đang lên kế hoạch để vượt qua các phiên làm việc. Những mô-đun sẽ thực hiện cập nhật liên tục. Sau khi cam kết mỗi phiên phiên, có nên có lý do gì để lo lắng về tính toàn vẹn của dữ liệu không? (giả sử các cam kết của tôi không clobber lẫn nhau). – user2097818