mysql - Rails 3 - Beta environment trying to create/migrate a blank database name -


my app works on dev , trying deploy new slice. environment called 'beta'. seems working okay except rake keeps trying pass blank '' database name, whether called in capistrano or manually. appreciate i'm not sure next. googling has turned nothing.

thank you, rabbit on rails

ops@rws:~/sites/darkserve/current$ rake db:drop (in /home/ops/sites/darkserve/releases/20110218183444) couldn't drop  : #<activerecord::statementinvalid: mysql2::error: incorrect database name '': drop database if exists ``>  ops@rws:~/sites/darkserve/current$ rake db:create (in /home/ops/sites/darkserve/releases/20110218183444)  exists    * executing "cd /home/ops/sites/darkserve/releases/20110218183444; bundle exec rake rails_env=beta  db:migrate"     servers: ["173.203.106.112"]     [173.203.106.112:30000] executing command *** [err :: 173.203.106.112:30000] rake aborted! *** [err :: 173.203.106.112:30000]  *** [err :: 173.203.106.112:30000] mysql2::error: no database selected: show tables *** [err :: 173.203.106.112:30000]  *** [err :: 173.203.106.112:30000]  *** [err :: 173.203.106.112:30000] (see full trace running task --trace) *** [err :: 173.203.106.112:30000]   ** [out :: 173.203.106.112:30000] (in /home/ops/sites/darkserve/releases/20110218183444) 

i have tried obvious things massaging database.yml , beta.rb files, no avail. mysql works , right user created.

common: &mysql   adapter: mysql2     host: localhost   encoding: utf8   username: root   password:    pool: 5   timeout: 5000   reconnect: true  development:   <<: *mysql   database: darkserve_development  test:   <<: *mysql   database: darkserve_test  beta:   <<: *mysql   database: darkserve_beta  production:   <<: *mysql   database: darkserve_prod   ops@rws:~/sites/darkserve/current$ mysql -u root welcome mysql monitor.  commands end ; or \g. mysql connection id 57 server version: 5.1.41-3ubuntu12.9 (ubuntu)  type 'help;' or '\h' help. type '\c' clear current input statement.  mysql> show databases; +--------------------+ | database           | +--------------------+ | information_schema | | mysql              | +--------------------+ 2 rows in set (0.00 sec)  mysql>      #beta.rb darkserve::application.configure   # settings specified here take precedence on in config/environment.rb    # production environment meant finished, "live" apps.   # code not reloaded between requests   config.cache_classes = true    # full error reports disabled , caching turned on   config.consider_all_requests_local       = false   config.action_controller.perform_caching = true    # specifies header server uses sending files   config.action_dispatch.x_sendfile_header = "x-sendfile"    # nginx:   # config.action_dispatch.x_sendfile_header = 'x-accel-redirect'    # if have no front-end server supports x-sendfile,   # comment out , rails serve files    # see in log (default :info)   # config.log_level = :debug    # use different logger distributed setups   # config.logger = sysloglogger.new    # use different cache store in production   #config.cache_store = :mem_cache_store    # disable rails's static asset server   # in production, apache or nginx   config.serve_static_assets = false    # enable serving of images, stylesheets, , javascripts asset server   # config.action_controller.asset_host = "http://assets.example.com"    # disable delivery errors, bad email addresses ignored   # config.action_mailer.raise_delivery_errors = false   config.action_mailer.delivery_method = :smtp    # enable threaded mode   # config.threadsafe!    # enable locale fallbacks i18n (makes lookups locale fall   # i18n.default_locale when translation can not found)   config.i18n.fallbacks = true    # send deprecation notices registered listeners   config.active_support.deprecation = :notify end    ops@rws:~/sites/darkserve/current$ ruby -v ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux] ops@rws:~/sites/darkserve/current$ rails -v rails 3.0.4 ops@rws:~/sites/darkserve/current$ irb ruby-1.9.2-p136 :001 > require 'mysql'  => true  

i switched ruby 1.9 , discovered same error. think bug yaml parser. seems fail include other keys when reference expanded.

consider following file: test.yml

common: &default   user_name: 'test_user'  failed:   <<: *default   database: 'ignored db name'  success:   user_name: 'test_user'   database: 'db name' 

now @ ruby prompt:

puts yaml.load_file('test.yml').inspect  {"common"=>{"user_name"=>"test_user"}, "failed"=>{"user_name"=>"test_user"},   "success"=>{"user_name"=>"test_user", "database"=>"db name"}} 

to fix make sure boot.rb selects 'syck', believe, has been around while.

require 'rubygems'  # set gems listed in gemfile. env['bundle_gemfile'] ||= file.expand_path('../../gemfile', __file__)  require 'yaml' yaml::engine.yamler= 'syck'  require 'bundler/setup' if file.exists?(env['bundle_gemfile']) 

Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -