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

रेल में पोस्टग्रेज यूयूआईडी का उपयोग करते समय पीजी ::अमान्य टेक्स्ट प्रतिनिधित्व त्रुटि से बचें

आप constraints() do ... end के माध्यम से एक बार में कई रूटों पर रूटिंग बाधा जोड़ सकते हैं ।

मैंने ऐसा करना समाप्त कर दिया और सभी :id . पर वैश्विक बाधा स्थापित कर दी इसे यूयूआईडी रेगेक्सपी से मिलाने के लिए पैराम्स:

MyApp::Application.routes.draw do
  constraints(id: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i) do

    # my routes here

  end
end

इस तरह, /posts/123 या /posts/foobar अब /posts/:id और 404 से मेल नहीं खाते हैं, इससे पहले कभी भी कंट्रोलर एक्शन को इनवाइट नहीं किया जाता है, इस प्रकार PG टाइप एरर से बचा जाता है।

मेरे सभी मॉडल अपनी आईडी के लिए यूयूआईडी का उपयोग करेंगे, इसलिए यह साफ और सूखा है। अगर मेरे पास पूर्णांक आईडी वाले कुछ मॉडल भी होते, तो यह थोड़ा कम साफ होता।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL रिकर्सिव पैरेंट/चाइल्ड क्वेरी

  2. एक कॉलम में एक से अधिक पंक्ति मान के साथ एक से अधिक पंक्तियों को मर्ज करें

  3. NULL मानों के साथ NOT LIKE का व्यवहार

  4. Windows पर PostgreSQL ODBC सेट करना

  5. java.lang.IllegalArgumentException:im ==शून्य?