2011-03-28 11 views
6

मैं ओरिएंटब मणि में कुछ बुनियादी रेक कार्यों को जोड़ने की कोशिश कर रहा हूं जो मुझे डेटाबेस बनाने, डेटाबेस माइग्रेशन बनाने और डेटाबेस माइग्रेट करने की अनुमति देगा - रेल माइग्रेशन के समान।सिनात्रा का उपयोग करते समय मैं एक मणि से रेक कार्यों को कैसे आयात करूं?

जब मेरे पास स्थानीय रूप से रेक कार्य था, तो मुझे डीबी मिला: सेटिंग्स, डीबी: बनाएं, और डीबी: काम करने के लिए create_ माइग्रेशन, लेकिन जब मैं उन्हें मणि में डालता हूं तो मैं यह नहीं समझ सकता कि उन्हें कैसे पहुंचाया जाए "रेक" का उपयोग करते समय सिनात्रा आवेदन।

मुझे एहसास है कि मैं या तो हूं) मणि में फ़ाइलों को ठीक से व्यवस्थित नहीं कर रहा है और/या बी) सिनात्रा ऐप से चीजों को ठीक से कॉल नहीं कर रहा है।

मेरी काँटेदार भंडार की वर्तमान स्थिति https://github.com/ricaurte/orientdb-jruby

पर मैं lib/orientdb/कार्य/database.rake =>https://github.com/ricaurte/orientdb-jruby/blob/master/lib/orientdb/tasks/database.rake

सिनात्रा अनुप्रयोग Rakefile

APPLICATION_ROOT = File.expand_path('..', __FILE__) 

require 'rake' 
require 'orientdb' 
#import "orientdb/tasks/database.rake" 

task :environment do 
    require File.expand_path(File.join(*%w[ config environment ]), File.dirname(__FILE__)) 
end 
में कार्यों के लिए फ़ाइल डाल है

config/पर्यावरण

require "rubygems" 
require "bundler" 
Bundler.setup 

require 'sinatra' 
require "orientdb" 

रूबी: जर्बी 1.6.0 (रूबी 1.9.2 पैचलेवल 136) (2011-03-24 5f5278c) (ओपनजेडीके 64-बिट सर्वर वीएम 1.6.0_20) [लिनक्स-एमडी 64-जावा]

उत्तर

11

मुझे पता चला कि कैसे इसे समझने की कोशिश करने के 10+ घंटों के बाद ऐसा करें और मुझे प्रक्रिया में रेक को पैच करना पड़ा। https://github.com/jimweirich/rake/pull/28

मैं भी एक ब्लॉग प्रविष्टि कि समझौता कोड शामिल ऊपर लिखा है:: मैं इस पैच प्रस्तुत http://www.justinidea.com/2011/03/proposed-modification-to-rakes-discovery-of-tasks.html

[अद्यतन]

मैं भी एक और तरीका है कि एक रेक पैच की आवश्यकता नहीं है पाया

require 'rake' 
require 'bundler' 
Bundler.setup 
require 'orientdb' 
require 'orientdb/tasks' 

मैं सेंट: यह आंकड़ा जाना ... सब मैं करना था एक tasks.rb बना सकते हैं और rakefile अंदर की आवश्यकता होती है, लेकिन बनाने के लिए यह काम मैं इसे इस तरह देखो बनाने के लिए किया था बीमार लगता है कि रेक पैच हालांकि बहुत अच्छा है। :)

[अद्यतन 2]

मतलब समय तक खींच अनुरोध रेक टीम द्वारा स्वीकार कर लिया जाता है में, मैं एक रत्न कहा जाता alltasks कि रेक कार्यों के सभी लोड होगा बनाया है कि आपके Gemfile में जवाहरात और उनकी निर्भरताओं में शामिल हैं।

https://github.com/ricaurte/alltasks

+4

अच्छा, मुझे लगता है कि आपको लगता है कि के लिए एक आत्म शिक्षार्थी बिल्ला के पात्र हैं। उम्मीद है कि दो अन्य लोग मुझसे सहमत होंगे। बीटीडब्ल्यू, आपको अपना जवाब स्वीकार करने की अनुमति है और मुझे लगता है कि यह इस मामले में भी सामाजिक रूप से स्वीकार्य होगा। –

+0

धन्यवाद एमयू! मुझे अपने उत्तर को स्वीकार करने के लिए कल तक इंतजार करना होगा और फिर ऐसा करना होगा। – ricaurte

संबंधित मुद्दे