| Issue 305: | acts_as_versioned should not break app when it has no tables | |
| 2 people starred this issue and may be notified of changes. | Back to list |
Sign in to add a comment
|
What steps will reproduce the problem? 1. rake db:drop 2. rake db:migrate 3. Get error about "Could not find table 'events'", which is caused when the code hits the "acts_as_versioned" code in Events. What is the expected output? What do you see instead? Tasks like db:migrate must run. The "acts_as_versioned" call shouldn't be doing anything that requires the presence of the underlying table, or should defer actions until one is available. Ugh. |
||||||||||||||
,
Oct 24, 2008
I've fixed the bugs causing these. See Issue 306 for further details.
Status: Fixed
Owner: igal.koshevoy |
|||||||||||||||
,
Apr 16, 2009
I just checked out today the code from git://github.com/calagator/calagator.git and I encountering this problem. $ rake db:migrate (in /home/costi/workspace/calagator) rake aborted! Could not find table 'events' (See full trace by running task with --trace) The script creates development.sqlite3, but there aren't any tables in it. sqlite> .schema sqlite> .tables Full trace: costi@costi-personal:~/workspace/calagator$ rake db:migrate --trace (in /home/costi/workspace/calagator) ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment rake aborted! Could not find table 'events' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/sqlite3_adapter.rb:29:in `table_structure' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/core_ext/object/misc.rb:28:in `returning' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/sqlite3_adapter.rb:28:in `table_structure' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/sqlite_adapter.rb:189:in `columns' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/base.rb:1149:in `columns' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/base.rb:2616:in `attributes_from_column_definition_without_lock' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/locking/optimistic.rb:55:in `attributes_from_column_definition' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/base.rb:2137:in `initialize' /home/costi/workspace/calagator/app/models/event.rb:91:in `new' /home/costi/workspace/calagator/app/models/event.rb:91 /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:216:in `load_without_new_constant_marking' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:216:in `load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in `new_constants_in' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:215:in `load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:96:in `require_or_load' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:261:in `load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:in `const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:480:in `const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:285:in `constantize' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:284:in `each' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:284:in `constantize' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/core_ext/string/inflections.rb:143:in `constantize' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:149:in `observe' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:149:in `collect!' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:149:in `observe' /home/costi/workspace/calagator/app/observers/cache_observer.rb:5 /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:216:in `load_without_new_constant_marking' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:216:in `load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in `new_constants_in' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:215:in `load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:96:in `require_or_load' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:261:in `load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:468:in `const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:480:in `const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:285:in `constantize' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:284:in `each' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/inflector.rb:284:in `constantize' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/core_ext/string/inflections.rb:143:in `constantize' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:38:in `instantiate_observers' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:36:in `each' /usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/observer.rb:36:in `instantiate_observers' /usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:26:in `define_dispatcher_callbacks' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:177:in `call' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:177:in `evaluate_method' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:161:in `call' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:90:in `run' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:90:in `each' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:90:in `send' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:90:in `run' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:272:in `run_callbacks' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:493:in `send' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:493:in `prepare_dispatcher' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:155:in `process' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:97:in `send' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/initializer.rb:97:in `run' /home/costi/workspace/calagator/config/environment.rb:13 /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in `require' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in `new_constants_in' /usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in `require' /usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/tasks/misc.rake:3 /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/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.4/lib/rake.rb:571:in `invoke_with_call_chain' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:588:in `invoke_prerequisites' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in `each' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:585:in `invoke_prerequisites' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:577: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.4/lib/rake.rb:571:in `invoke_with_call_chain' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2027:in `invoke_task' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `each' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in `standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1999:in `top_level' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1977:in `run' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in `standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1974:in `run' /usr/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake:31 /usr/bin/rake:19:in `load' /usr/bin/rake:19 |
|||||||||||||||
,
Apr 18, 2009
Thank you for the excellent bug report. A recent change to the Event time setters has unfortunately caused migrations to break again. I've committed a workaround that should make "rake db:migrate" work again if you're calling it on a new database without the "events" table.
Status: Started
Cc: reidab |
|||||||||||||||
,
Nov 05, 2009
Closing this ticket because the problem has been resolved and acts_as_versioned has been replaced with paper_trail.
Status: Fixed
|
|||||||||||||||
|
|
|||||||||||||||