Closed ariana-paris closed 9 years ago
Comment #1 originally posted by ariana-paris on 2008-05-01T09:53:44.000Z:
urgh, sorry for the formatting. I didn't notice that html won't work here :-/
Comment #2 originally posted by ariana-paris on 2008-05-02T20:31:25.000Z:
Some more background here: http://dev.rubyonrails.org/ticket/10474
I've switched the user validation to use validates_inclusion_of instead, which seems to fix the problem. User observer has been turned back on.
Comment #3 originally posted by ariana-paris on 2008-05-12T20:36:39.000Z:
<empty>
Comment #4 originally posted by ariana-paris on 2008-09-04T10:44:19.000Z:
<empty>
Comment #5 originally posted by ariana-paris on 2008-09-04T23:56:26.000Z:
Closing this, as it's not something QA can test and it's working.
Comment #6 originally posted by ariana-paris on 2009-02-25T01:43:18.000Z:
<empty>
Comment #7 originally posted by ariana-paris on 2009-02-25T03:23:11.000Z:
Updating status on discussion with Jennifew and Sidra
Comment #8 originally posted by ariana-paris on 2010-11-13T22:14:02.000Z:
listing all former issues for automated tests
Comment #9 originally posted by ariana-paris on 2010-11-14T19:40:27.000Z:
Converting from NeedsTest status to NeedsTest label
Original issue 38 created by ariana-paris on 2008-05-01T09:51:36.000Z:
What steps will reproduce the problem? <B>1.</B> drop your databases (rake db:drop:all) <B>2.</B> do rake db:create (or rake db:create:all)
<B>What is the expected output? What do you see instead?</B>
I expect my databases to be created. What happens is that I get this error: (Please ignore the strange db names, I edited config/database.yml, so my real database wouldn't get destroyed)
<tt> bfranken@bat:/tmp/otwarchive$ rake db:create:all (in /tmp/otwarchive) rake aborted! Unknown database 'foootwarchive_development'
(See full trace by running task with --trace) </TT>
and with trace: <tt> rake aborted! Unknown database 'foootwarchive_development' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:471:in
real_connect' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:471:in
connect' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:165:ininitialize' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:88:in
new' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/mysql_adapter.rb:88:inmysql_connection' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:291:in
send' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:291:inconnection=' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:259:in
retrieve_connection' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:inconnection' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1080:in
columns' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1093:incolumn_names' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/validations.rb:467:in
validates_acceptance_of_without_live_validations' /tmp/otwarchive/vendor/plugins/livevalidation/lib/live_validations.rb:25:insend' /tmp/otwarchive/vendor/plugins/livevalidation/lib/live_validations.rb:25:in
validates_acceptance_of_with_live_validations' /tmp/otwarchive/app/models/user.rb:32:invalidates_acceptance_of' /tmp/otwarchive/app/models/user.rb:32 /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:in
load_without_new_constant_marking' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:203:inload_file' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:342:in
new_constants_in' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:202:inload_file' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:94:in
require_or_load' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:248:inload_missing_constant' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:453:in
const_missing' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:465:inconst_missing' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/inflector.rb:257:in
constantize' /var/lib/gems/1.8/gems/activesupport-2.0.2/lib/active_support/core_ext/string/inflections.rb:148:inconstantize' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:143:in
observed_class' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:169:inobserved_classes' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:152:in
initialize' /usr/lib/ruby/1.8/singleton.rb:95:innew' /usr/lib/ruby/1.8/singleton.rb:95:in
instance' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:38:ininstantiate_observers' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:36:in
each' /var/lib/gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:36:ininstantiate_observers' /var/lib/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:216:in
load_observers' /var/lib/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:108:inprocess' /var/lib/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:49:in
send' /var/lib/gems/1.8/gems/rails-2.0.2/lib/initializer.rb:49:inrun' /tmp/otwarchive/config/environment.rb:31 /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require' /usr/lib/ruby/1.8/rubygems/custom_require.rb:27:inrequire' /var/lib/gems/1.8/gems/rails-2.0.2/lib/tasks/misc.rake:3 /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:in
call' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:546:inexecute' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:in
each' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:541:inexecute' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:508:in
invoke_with_call_chain' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:insynchronize' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:518:ininvoke_prerequisites' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in
each' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:insend' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1183:in
each' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:515:ininvoke_prerequisites' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:507:in
invoke_with_call_chain' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:insynchronize' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:501:in
invoke_with_call_chain' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:494:ininvoke' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1931:in
invoke_task' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:intop_level' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:in
each' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1909:intop_level' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:in
standard_exception_handling' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1903:intop_level' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1881:in
run' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1948:instandard_exception_handling' /var/lib/gems/1.8/gems/rake-0.8.1/lib/rake.rb:1878:in
run' /var/lib/gems/1.8/gems/rake-0.8.1/bin/rake:31 /var/lib/gems/1.8/bin/rake:16:in `load' /var/lib/gems/1.8/bin/rake:16 (in /tmp/otwarchive) * Invoke db:create:all (first_time) * Invoke environment (first_time) \ Execute environment </tt>I managed to trace this to validates_acceptance_of in user.rb in combination with :user_observer in config/environment.rb. validates_accptance_of calls ActiveRecord::Base#column_names() which connects to the database. (Which isn't there because we're trying to create it.)
It looks like this is related to a bug in Rails (maybe combined with restful_authentication and has_many_polymorphfs), see:
http://www.thewebfellas.com/blog/2007/12/16/rails-2-0-validates_acceptance_of-can-break-migrations
and for the fix in edge rails: http://dev.rubyonrails.org/ticket/10474
As a workaround I commented out the :user_observer line in config/environment.rb, so we can create databases. This means signup notification and activation emails WONT'T WORK.