Created
January 8, 2009 23:12
-
-
Save jaigouk/44941 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(merb 1.0.7.1) | |
The 'merb-cache' causes problem. If I delete the cache block, "rake db:automigrae" runs well. | |
I can not use cache on flat app? | |
I referenced 3 resources. 2 for init.rb and 1 for dm-do error. I followed instructions that Matt recommended. | |
But I did not bundled. It only caused more complex errors with twitter API. | |
My git repo is git://github.com/jaigouk/twitter-on-merb.git | |
(Current status: without bundling and caching, it runs well) | |
http://merb.lighthouseapp.com/projects/7433/tickets/618-rake-dbautomigrate-loads-initrb-twice | |
http://groups.google.com/group/merb/browse_thread/thread/3016d380bde5d60e/fb2c7ab24ef40c52?lnk=gst&q=load+init+twice#fb2c7ab24ef40c52 | |
http://groups.google.co.kr/group/merb/browse_thread/thread/f1bd76a125ed4c6b?hl=en&ie=UTF-8&q=The+problem+is+that+some+DM%2FDO+dependencies&pli=1 | |
$merb-gen flat myapp | |
$nano config/init.rb | |
------------------------ | |
... | |
merb_gems_version = "1.0.7.1" | |
dm_gems_version = "0.9.9" | |
dependency "merb-action-args", merb_gems_version | |
dependency "merb-assets", merb_gems_version | |
dependency "merb-helpers", merb_gems_version | |
dependency "merb_datamapper", merb_gems_version | |
dependency "dm-core", dm_gems_version | |
dependency "dm-aggregates", dm_gems_version | |
dependency "dm-migrations", dm_gems_version | |
dependency "dm-timestamps", dm_gems_version | |
dependency "dm-types", dm_gems_version | |
dependency "dm-validations", dm_gems_version | |
dependency "do_sqlite3", "0.9.10.1" | |
dependency 'merb-cache', merb_gems_version do | |
Merb::Cache.setup do | |
register(:twitter_fragment_store, Merb::Cache::FileStore, :dir => Merb.root / 'cache' / 'fragments') | |
register(:twitter_page_store, Merb::Cache::PageStore[Merb::Cache::FileStore], :dir => Merb.root / 'public' / 'page_cache') | |
register(:default, Merb::Cache::AdhocStore[:twitter_page_store, :twitter_fragment_store]) | |
end | |
end | |
... | |
------------------ | |
The 'merb-cache' causes problem. If I delete the cache block, "rake db:automigrae" runs well. | |
I can not use cache on flat app? | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$rake merb_env | |
[jaigouk@j-laptop flattest]$ rake merb_env --trace | |
(in /home/jaigouk/down/flattest) | |
Loading init file from /home/jaigouk/down/flattest/config/init.rb | |
** Invoke merb_env (first_time) | |
** Execute merb_env | |
Loading init file from /home/jaigouk/down/flattest/config/init.rb | |
rake aborted! | |
twitter_fragment_store store already setup | |
/usr/lib/ruby/gems/1.8/gems/merb-cache-1.0.7.1/lib/merb-cache/cache.rb:66:in `register' | |
/home/jaigouk/down/flattest/config/init.rb:13 | |
/usr/lib/ruby/gems/1.8/gems/merb-cache-1.0.7.1/lib/merb-cache/cache.rb:14:in `instance_eval' | |
/usr/lib/ruby/gems/1.8/gems/merb-cache-1.0.7.1/lib/merb-cache/cache.rb:14:in `setup' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/bootloader.rb:583:in `call' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/bootloader.rb:583:in `run' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/bootloader.rb:583:in `each' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/bootloader.rb:583:in `run' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/bootloader.rb:99:in `run' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/server.rb:172:in `bootup' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core/server.rb:42:in `start' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core.rb:170:in `start' | |
/usr/lib/ruby/gems/1.8/gems/merb-core-1.0.7.1/lib/merb-core.rb:183:in `start_environment' | |
/home/jaigouk/down/flattest/Rakefile:24 | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `call' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `execute' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `each' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `execute' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:578:in `invoke_with_call_chain' | |
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:564:in `invoke' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2019:in `invoke_task' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `each' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1991:in `top_level' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1970:in `run' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1967:in `run' | |
/usr/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:31 | |
/usr/bin/rake:19:in `load' | |
/usr/bin/rake:19 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# If I comment "Merb.load_dependencies(:environment => init_env)", | |
# It shows original minimum rake tasks. rake audit, default, merb_env, and spec related ones. | |
# and rake merb_env runs without errors. | |
# | |
# If I uncomment the line as bellow, | |
# rake -T shows all rake tasks include rake db:automigrate, but the errors above occur. | |
# I want to make a model for this small app. | |
# How can I run "rake db:automigrate"? | |
#--------------------------------------------------------------------------------------------- | |
# Rakefile | |
require 'rubygems' | |
require 'rake/rdoctask' | |
require 'merb-core' | |
require 'merb-core/tasks/merb' | |
include FileUtils | |
init_env = ENV['MERB_ENV'] || 'rake' | |
Merb.load_dependencies(:environment => init_env) | |
# Get Merb plugins and dependencies | |
Merb::Plugins.rakefiles.each { |r| require r } | |
# Load any app level custom rakefile extensions from lib/tasks | |
tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks") | |
rake_files = Dir["#{tasks_path}/*.rake"] | |
rake_files.each{|rake_file| load rake_file } | |
desc "Start runner environment" | |
task :merb_env do | |
Merb.start_environment(:environment => init_env, :adapter => 'runner') | |
end | |
require 'spec/rake/spectask' | |
require 'merb-core/test/tasks/spectasks' | |
desc 'Default: run spec examples' | |
task :default => 'spec' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment