Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

परीक्षण वस्तु Yaml . के लिए फ्रेमवर्क छवि BLOB फ़ाइल चलाएँ

मैंने कुछ समय पहले एक परियोजना पर इसी तरह की समस्या का अनुभव किया है। हालाँकि, जैसा कि मुझे जुड़नार के साथ इसे हल करने का कोई तरीका नहीं मिला (जैसा कि डेटाबेस ब्लॉब ऑब्जेक्ट को एक स्ट्रिंग के रूप में संग्रहीत करता है जैसा कि पेरे ने ऊपर बताया है), मैंने परीक्षण-केस-परिदृश्य में कम से कम इस समस्या को हल करने के लिए एक वर्कअराउंड बनाया। मैंने निम्नलिखित फ़ाइल /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());
            }
        }
    }
}

पहली चीज जो मैं करता हूं वह है डेटाबेस को प्रारंभिक डेटा से भरना यदि डेटाबेस में पहले से कोई 'आइटम' संग्रहीत नहीं है। बस डेटाबेस में संग्रहीत है, जो "my_fixtures.yml" फ़ाइल से पढ़े जाते हैं। यहां प्रत्येक आइटम के लिए स्ट्रिंग फ़ील्ड अपडेट हो जाएगा जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है।

मुझे पता है कि यह ओपी में सवाल का बिल्कुल जवाब नहीं है, लेकिन यह इस मुद्दे के आसपास काम करने के लिए किसी तरह का विचार देता है ..

संपादित करें:ऊपर दिए गए उदाहरण में मुझे लगता है कि चित्र आपके अटैचमेंट फ़ोल्डर में मैन्युअल रूप से अपलोड किए गए हैं जैसा कि आपके application.conf में दिया गया है। , और यह कि प्रत्येक छवि का नाम इस प्रकार है:"item_" एक ".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. डेटाबेस प्रशासकों के लिए 15 मूल MySQL साक्षात्कार प्रश्न

  2. MYSQL कार्यक्षेत्र - त्रुटि:त्रुटि 1215:विदेशी कुंजी बाधा नहीं जोड़ सकता

  3. MySQL - कॉलम का नाम बदलें

  4. उपयोगकर्ता डेटाबेस तक नहीं पहुंच सकता

  5. लेफ्ट जॉइन के साथ LIKE %% का उपयोग करना