Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Play Framework Image BLOB Tệp cho đối tượng thử nghiệm Yaml

Tôi đã từng gặp vấn đề tương tự cách đây một lúc trong một dự án. Tuy nhiên, vì tôi không thể tìm ra cách giải quyết vấn đề này với các đồ đạc (vì cơ sở dữ liệu lưu trữ đối tượng blob dưới dạng một chuỗi như Pere giải thích ở trên), tôi đã tạo một giải pháp để ít nhất giải quyết vấn đề này trong một trường hợp thử nghiệm. Tôi đã tạo tệp sau /app/job/Bootstrap.java:

import play.test.*;
import play.jobs.*;
import play.db.DB;
import models.*;

import java.util.List;

@OnApplicationStart
public class Bootstrap extends Job {
     public void doJob() {
        // Load default data if the database is empty
        if(Item.count() == 0) {
            Fixtures.loadModels("my_fixtures.yml");
            List<Item> allItems = Item.findAll();
            for (Item a: allItems){
                DB.execute("UPDATE `Item` SET image='item_" + a.name.toLowerCase() + ".png|image/png' WHERE id=" + a.getId());
            }
        }
    }
}

Điều đầu tiên tôi làm là điền dữ liệu ban đầu vào cơ sở dữ liệu nếu không có 'Item' nào đã được lưu trữ trong cơ sở dữ liệu.
Điều thứ hai là lặp lại tất cả 'Item' mà bạn chơi! vừa được lưu trữ trong cơ sở dữ liệu, được đọc từ tệp "my_fixtures.yml". Ở đây đối với mỗi mục, trường chuỗi sẽ được cập nhật như thể hiện trong ví dụ trên.

Tôi biết đây không phải là câu trả lời chính xác cho câu hỏi trong OP, nhưng nó cung cấp một số ý tưởng tốt để giải quyết vấn đề này ..

CHỈNH SỬA:Trong ví dụ được đưa ra ở trên, tôi giả sử rằng các ảnh được tải lên theo cách thủ công vào thư mục tệp đính kèm của bạn như được cung cấp trong application.conf của bạn và mỗi tên hình ảnh giống như:"item_ " với phần mở rộng ".png"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. html / php / sql form with insert / update

  2. Thay đổi thư mục tmp của mysql

  3. Nộp một Jframe từ MySQL

  4. Ngủ đông Lưu hành vi lạ

  5. Trang 'Tìm kiếm Nâng cao' của Php / MySql