NULL pointer given on db:migrate SaltUserPasswords?
Added by Pok Lau over 12 years ago
Was trying to upgrade from 1.1.0 to 1.4.1 and hHaving this problem when trying to initiate the database
Ruby version: ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
Rails version: Rails 2.3.14
Database: Server version: 5.5.14 MySQL Community Server (GPL)
[root@redminesrv redmine-1.4.1]$ RAILS_ENV=production rake db:migrate --trace ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:migrate == SaltUserPasswords: migrating ============================================== -- Salting user passwords, this may take some time... rake aborted! An error has occurred, all later migrations canceled: NULL pointer given (eval):3:in `each_hash' (eval):3:in `all_hashes' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:640:in `select' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in `select_all_without_query_cache' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/query_cache.rb:62:in `select_all' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/base.rb:665:in `find_by_sql' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/base.rb:1582:in `find_every' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/base.rb:619:in `find' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/named_scope.rb:186:in `send' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/named_scope.rb:186:in `method_missing' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/base.rb:2182:in `with_scope' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/named_scope.rb:118:in `__send__' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/named_scope.rb:118:in `with_scope' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/named_scope.rb:179:in `method_missing' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/batches.rb:63:in `find_in_batches' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/batches.rb:25:in `find_each' /opt/redmine-dev/redmine-1.4.1/app/models/user.rb:576:in `salt_unsalted_passwords!' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/database_statements.rb:136:in `transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/transactions.rb:182:in `transaction' /opt/redmine-dev/redmine-1.4.1/app/models/user.rb:575:in `salt_unsalted_passwords!' ./db/migrate//20110223180953_salt_user_passwords.rb:5:in `up_without_benchmarks' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:328:in `say_with_time' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:328:in `say_with_time' ./db/migrate//20110223180953_salt_user_passwords.rb:4:in `up_without_benchmarks' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:282:in `send' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:282:in `migrate' /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:282:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:365:in `__send__' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:365:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:491:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:567:in `call' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:567:in `ddl_transaction' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:490:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:477:in `each' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:477:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:401:in `up' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.14/lib/active_record/migration.rb:383:in `migrate' /usr/local/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/tasks/databases.rake:112 /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `invoke_with_call_chain' /usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33 /usr/local/bin/rake:19:in `load' /usr/local/bin/rake:19 Tasks: TOP => db:migrate
Replies (2)
RE: NULL pointer given on db:migrate SaltUserPasswords? - Added by Pok Lau over 12 years ago
Just for trying, I excluded the update 20110223180953_salt_user_passwords.rb by renaming the file to something else, the db migration works, but when I tried to start up on Webrick, it gave the following error:
[root@redminesrv redmine-1.4.1]$ ruby script/server -p 3004 -e production => Booting WEBrick => Rails 2.3.14 application starting on http://0.0.0.0:3004 => Call with -d to detach => Ctrl-C to shutdown server [2012-06-07 12:04:15] INFO WEBrick 1.3.1 [2012-06-07 12:04:15] INFO ruby 1.8.7 (2011-06-30) [x86_64-linux] [2012-06-07 12:04:15] INFO WEBrick::HTTPServer#start: pid=22448 port=3004 Processing WelcomeController#index (for 172.17.120.63 at 2012-06-07 12:04:17) [GET] Parameters: {"action"=>"index", "controller"=>"welcome"} ArgumentError (NULL pointer given): (eval):3:in `each_hash' (eval):3:in `all_hashes' app/models/user.rb:563:in `anonymous' app/models/user.rb:557:in `current' app/controllers/application_controller.rb:141:in `check_if_login_required' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:104:in `service' /usr/local/lib/ruby/1.8/webrick/httpserver.rb:65:in `run' /usr/local/lib/ruby/1.8/webrick/server.rb:173:in `start_thread' /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start' /usr/local/lib/ruby/1.8/webrick/server.rb:162:in `start_thread' /usr/local/lib/ruby/1.8/webrick/server.rb:95:in `start' /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `each' /usr/local/lib/ruby/1.8/webrick/server.rb:92:in `start' /usr/local/lib/ruby/1.8/webrick/server.rb:23:in `start' /usr/local/lib/ruby/1.8/webrick/server.rb:82:in `start' Rendering /opt/redmine-dev/redmine-1.4.1/public/500.html (500 Internal Server Error)
RE: NULL pointer given on db:migrate SaltUserPasswords? - Added by Pok Lau over 12 years ago
Looks like this is all because I am using mysql-2.8.1 as the driver. After changing the driver to mysql2, the problem is resolved.