जैसा कि मैं इसे समझता हूं, रेल के विपरीत, सिनात्रा ढांचा, ओआरएम प्रदान नहीं करता है। उस स्थिति में, आप सिनात्रा ऐप में डीबी से कैसे बात करते हैं? या सिनात्रा केवल उन ऐप्स के लिए है जो डीबी का उपयोग नहीं करते हैं?सिनात्रा का उपयोग करते समय डेटाबेस से बात करने का सबसे अच्छा तरीका क्या है?
उत्तर
यदि आप ActiveRecord पसंद करते हैं, तो इसका उपयोग करें। या कुछ और। उदाहरण के लिए डाटामैपर। SQLite के साथ एआर के लिए, यह काम करता है:
require 'rubygems' # may not be needed, depending on platform
require 'sinatra'
require 'active_record'
class Article < ActiveRecord::Base
end
get '/' do
Article.establish_connection(
:adapter => "sqlite3",
:database => "hw.db"
)
Article.first.title
end
आप सिनात्रा का उपयोग कर रहे हैं, मैं DataMapper अत्यधिक पर्याप्त की अनुशंसा नहीं कर सकते हैं। मेरे पास कुछ रेल ऐप हैं जहां मैं ActiveRecord से फंस गया हूं, और मैं लगातार अपनी कमियों और डिज़ाइन त्रुटियों को शाप देता हूं। यदि आप सिनात्रा पर हैं, तो डेटामैपर एक बहुत ही व्यावहारिक विकल्प है।
require "rubygems"
require "sinatra"
require "datamapper"
DataMapper.setup(:default, "sqlite3::memory:")
class Post
include DataMapper::Resource
property :id, Integer, :serial => true
property :title, String
end
Post.auto_migrate!
first_post = Post.new
first_post.title = "First!"
first_post.save
get "/" do
Post.get(1).title
end
मैं डेटामैपर पर एक नज़र डालेगा। कोड नमूना के लिए धन्यवाद। –
जब आप 'DataMapper.setup (: डिफ़ॉल्ट, "sqlite3 :: memory")' का उपयोग करते हैं, तो क्या यह एक आईएम-मेमोरी डीबी है? आप डिस्क पर कैसे बने रहेंगे, या आप मौजूदा sqlite डीबी फ़ाइल कैसे खोलेंगे? – LoveMeSomeCode
'DataMapper.setup (: डिफ़ॉल्ट," sqlite3: पथ/से/डीबी/file.db ")' –
यह आपके ऊपर है कि डेटाबेस के साथ संवाद कैसे करें, आप या तो ORMs या कुछ NoSQL एडाप्टर का चयन कर सकते हैं। वहाँ कई विकल्प उपलब्ध हैं, उनमें से कुछ विशेष रूप से सिनात्रा के लिए किए गए:
उदाहरण के लिए, वहाँ है Sinatra ActiveRecord Extension
मूल रूप से ब्लेक Mizerany, सिनात्रा
के निर्माता यह ActiveRecord सहायक तरीकों और रैक कार्यों
एक और विकल्प Sinatra Sequel Extension है।
यह छोटा एक्सटेंशन डेटाबेस कॉन्फ़िगरेशन, माइग्रेशन, और सीक्वेल एडेप्टर सीधे सिनात्रा में जोड़ता है।
या सिनात्रा-रेडिस, या सिनात्रा-मोंगो, और इसी तरह। बस आप जो चाहते हैं उसे खोजें।
लेकिन आप किसी भी स्वतंत्र पुस्तकालय का स्वतंत्र रूप से उपयोग कर सकते हैं, Sinatra Recipes on databases देखें, जहां सिनात्रा के साथ लोकप्रिय डेटाबेस मैपर का उपयोग करने के कुछ उदाहरण सूचीबद्ध हैं। यद्यपि इसका उल्लेख किया गया है कि इसके लिए सुझाए गए अभ्यास डेटामैपर का उपयोग कर रहे हैं, मुझे संदेह है कि यह केवल वरीयता है, क्योंकि सिनात्रा में कुछ भी स्वयं ही इसका सुझाव नहीं देता है।
- 1. Boost.Asio का उपयोग करते समय वैध ऑब्जेक्ट जीवनकाल सुनिश्चित करने का सबसे अच्छा तरीका क्या है?
- 2. डेटाबेस कॉपी करने का सबसे अच्छा तरीका क्या है?
- 3. डेटाबेस संचालित सामग्री का अनुवाद करने का सबसे अच्छा तरीका
- 4. डेटाबेस परिवर्तनों का प्रबंधन करने का सबसे अच्छा तरीका
- 5. रेल का उपयोग करते समय रूबी में स्थिरांक को संभालने का सबसे अच्छा तरीका क्या है?
- 6. सिनात्रा आवेदन को प्रोफाइल करने का सबसे अच्छा तरीका क्या है?
- 7. सबसे अच्छा तरीका डेटाबेस
- 8. PHP के माध्यम से ट्विटर एपीआई का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 9. लाइव MySQL डेटाबेस संग्रहित करने का सबसे अच्छा तरीका
- 10. सर्वर-साइड डेटाबेस से आईफोन में एक-तरफा सिंकिंग करने का सबसे अच्छा तरीका क्या है?
- 11. रुझान डेटा संग्रहीत करने का सबसे अच्छा तरीका क्या है?
- 12. RedirectToAction का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 13. ग्रीष्मकालीन समय नियमों का प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?
- 14. एनएसएमयूटेबलएरे को शफल करने का सबसे अच्छा तरीका क्या है?
- 15. तालिका को समर्पित करने का सबसे अच्छा तरीका क्या है?
- 16. टाइमिट का उपयोग करते समय आयात करने का सही तरीका?
- 17. jQuery प्रदर्शन करने का सबसे अच्छा तरीका क्या है .change()
- 18. एफ # कोड दस्तावेज करने का सबसे अच्छा तरीका क्या है?
- 19. स्थैतिक फैक्ट्री पैटर्न का उपयोग करते समय PHP पुस्तकालयों को शामिल करने का सबसे अच्छा तरीका क्या है?
- 20. RSpec अनुरोध चश्मा में Capybara का उपयोग करते समय कस्टम अनुरोध शीर्षलेख सेट करने का सबसे अच्छा तरीका क्या है?
- 21. modeoDB का उपयोग node.js के साथ करने का सबसे अच्छा तरीका क्या है?
- 22. MySQL क्लॉज का उपयोग करने का सबसे अच्छा तरीका "ActiveRecord
- 23. सी # परियोजना आयोजित करने का सबसे अच्छा तरीका क्या है?
- 24. संबंधित ओएलटीपी डेटाबेस से ओलाप घन में प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 25. जेडीबीसी के माध्यम से डेटाबेस को 'पिंग' करने का सबसे अच्छा तरीका क्या है?
- 26. स्कैला (या जावा) से पायथन कोड का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 27. सीएसएस का उपयोग करने का सबसे अच्छा तरीका क्या है? (नहीं * सीखें * लेकिन वास्तव में * उपयोग *)
- 28. MySQL का उपयोग कर URL मान को संग्रहीत करने का सबसे अच्छा तरीका क्या है?
- 29. असेंबली वर्जनिंग विशेषताओं का उपयोग करने का सबसे अच्छा तरीका क्या है?
- 30. क्लोजर में जीयूआई करने का सबसे अच्छा तरीका क्या है?
क्योंकि 'activerecord' को इसके बजाय 'active_record की आवश्यकता है' को बहिष्कृत किया गया है। – tks