2011-06-17 47 views
9

Có thể tạo một .xcdatamodel (mô hình dữ liệu CoreData) từ tệp cơ sở dữ liệu SQLite hiện có không?Sơ đồ dữ liệu cốt lõi từ cơ sở dữ liệu SQLite hiện có

Tôi đã phát triển một cơ sở dữ liệu SQLite và viết một API Java chống lại nó. Bây giờ, tôi cần viết một API iOS tương đương vào cùng một cơ sở dữ liệu (tệp). Tôi không muốn tạo lược đồ dữ liệu bằng tay trong xCode. Tôi chỉ muốn tạo ra .xcdatamodel và sử dụng xCode để tạo ra các lớp thực thể mà tôi sẽ mã hóa.

Có thể không?

Trả lời

7

Xem How do I use my existing SQLite database with Core Data?Efficiently Importing Data. Tôi hiểu rằng bạn không yêu cầu cụ thể về việc sử dụng toàn bộ cơ sở dữ liệu nhưng chỉ tạo mô hình, nhưng bạn phải hiểu rằng không có mối quan hệ 1-1 giữa cơ sở dữ liệu SQLite hiện có và dữ liệu cốt lõi nào muốn lưu trữ.

+0

tôi hiểu những gì bạn đang nói, nhưng nó chắc chắn sẽ được tốt đẹp để có thể lập trình tự động hóa quá trình tạo ra ban đầu cắt của '.xcdatamodeld', thay vì phải tự tạo nó. Với một cơ sở dữ liệu phức tạp, đó không phải là vấn đề tầm thường. – Rob

3

Không. Dữ liệu cốt lõi không chỉ là một trình bao bọc mỏng xung quanh SQLite. Đó là một cửa hàng đối tượng có thể (tùy chọn) được duy trì cho một cơ sở dữ liệu SQLite. Điều này có nghĩa là các mô hình Dữ liệu cốt lõi không có ánh xạ trực tiếp tới cơ sở dữ liệu SQLite.

Trong trường hợp của bạn, tôi khuyên bạn nên sử dụng một trong các trình bao bọc SQLite sẵn có (tôi đã không sử dụng bất kỳ trình cắm nào trong số đó vì vậy tôi không thể đề xuất bất kỳ ai cụ thể).

+0

+1 ví dụ: [FMDB] (https://github.com/ccgus/fmdb) – Rob

3

Hãy thử công cụ sau đó wil tạo ra DataModel từ hiện Sqlite

https://github.com/tapasya/Sqlite2CoreData

+0

Có ai thực sự sử dụng điều này thường xuyên để xây dựng một dữ liệu cốt lõi cho một DB SQLite tương đối lớn không? –

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