# ActiveRecord::StatementInvalid in new action on scaffolding

**URL:** <https://www.ruby-forum.com/t/activerecord-statementinvalid-in-new-action-on-scaffolding/164340>\
**Category:** Rails\
**Created:** [March 31, 2009, 10:47am UTC](https://www.ruby-forum.com/t/activerecord-statementinvalid-in-new-action-on-scaffolding/164340 "2009-03-31T10:47:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Darren\_VanBuren](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/45deac/32.png) [@Darren\_VanBuren](https://www.ruby-forum.com/u/Darren_VanBuren)\
**Post date:** [March 31, 2009, 10:47am UTC](https://www.ruby-forum.com/t/activerecord-statementinvalid-in-new-action-on-scaffolding/164340/1 "2009-03-31T10:47:14Z")

</div>

I am trying to learn Rails by experimenting with it. Currently, I’m  
trying on my laptop running Windows 7 (build 7000), with Ruby 1.8.6,  
RubyGems 1.3.1, and Rails 2.3.2(.1). I of course had to get  
sqlite3-ruby installed, which I did. I just created some scaffolding  
with script/generate (which I had to do as ruby .\script\generate, as  
I was in Windows PowerShell) then attempted to run the DB migrations.

# PS C:\Users\Darren VanBuren\rails\blog\> rake db:migrate (in C:/Users/Darren VanBuren/rails/blog) == CreatePosts: migrating

# – create\_table(:posts) → 0.0050s == CreatePosts: migrated (0.0150s)

rake aborted!  
Could not find table ‘posts’

Running with --trace presents:

PS C:\Users\Darren VanBuren\rails\blog\> rake db:migrate --trace  
(in C:/Users/Darren VanBuren/rails/blog)  
\*\* Invoke db:migrate (first\_time)  
\*\* Invoke environment (first\_time)  
\*\* Execute environment  
\*\* Execute db:migrate  
\*\* Invoke db:schema:dump (first\_time)  
\*\* Invoke environment  
\*\* Execute db:schema:dump  
rake aborted!  
Could not find table ‘posts’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/connection\_adapters/sqlite3\_adapter.rb:29:in  
`table structure' C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/object/misc.rb:39:in `returning’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/connection\_adapters/sqlite3\_adapter.rb:28:in  
`table structure' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/sqlite_adapter.rb:213:in `colum  
s’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/schema\_dumper.rb:77:in  
`table' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/schema_dumper.rb:72:in `tables’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/schema\_dumper.rb:63:in  
`each' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/schema_dumper.rb:63:in `tables’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/schema\_dumper.rb:25:in  
`dump' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/schema_dumper.rb:19:in `dump’  
C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/databases.rake:251  
C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/databases.rake:250:in  
`open' C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/databases.rake:250 C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in `invoke\_with\_call\_chain’  
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in `invoke\_with\_call\_chain’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke' C:/Ruby/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/tasks/databases.rake:117 C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in `invoke\_with\_call\_chain’  
C:/Ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in `invoke\_with\_call\_chain’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2027:in `invoke\_task’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in  
`top_level' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in `each’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2005:in  
`top_level' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in `standard\_exception\_handling’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1999:in  
`top_level' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1977:in `run’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2044:in  
`standard_exception_handling' C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:1974:in `run’  
C:/Ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake:31  
C:/Ruby/bin/rake:19:in `load’  
C:/Ruby/bin/rake:19

I then looked at the table and found it to be there, and it had the  
complete structure.  
Having saw that, I figured I’ll give it a go. The index action on the  
controller works just fine, but when I attempt to access the “new”  
action, I get an equally frustrating message:

ActiveRecord::StatementInvalid in PostsController#new

Could not find table ‘posts’

RAILS\_ROOT: C:/Users/Darren VanBuren/rails/blog  
Application Trace | Framework Trace | Full Trace

C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/connection\_adapters/sqlite3\_adapter.rb:29:in  
`table_structure' C:/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/object/misc.rb:39:in `returning’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/connection\_adapters/sqlite3\_adapter.rb:28:in  
`table_structure' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/sqlite_adapter.rb:213:in `columns’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/base.rb:1276:in  
`columns' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:3008:in `attributes\_from\_column\_definition\_without\_lock’  
C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active\_record/locking/optimistic.rb:66:in  
`attributes_from_column_definition' C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:2435:in `initialize’  
C:/Users/Darren  
VanBuren/rails/blog/app/controllers/posts\_controller.rb:27:in `new' C:/Users/Darren VanBuren/rails/blog/app/controllers/posts_controller.rb:27:in `new’

This is particularly frustrating, because running a MySQLd seems  
pointless for such a trivial Rails application. Am I making an obvious  
mistake or is something really wrong?

# Darren L. VanBuren

> **[OKS Tumbleblog](https://tumblr.theoks.net/)**
>
> Darren VanBuren is a software developer, geek, food lover, and student. He loves classic rock, some...

---

<div class="post-metadata">

**Author:** ![Darren\_VanBuren](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/45deac/32.png) [@Darren\_VanBuren](https://www.ruby-forum.com/u/Darren_VanBuren)\
**Post date:** [April 13, 2009, 6:30pm UTC](https://www.ruby-forum.com/t/activerecord-statementinvalid-in-new-action-on-scaffolding/164340/2 "2009-04-13T18:30:07Z")

</div>

Hi,  
I had the same problem! Try removing the “quote\_table\_name” call in  
the file “C:/Ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/  
active\_record/connection\_adapters/sqlite3\_adapter.rb” line 29 that did  
it for me.

In short replace the line :  
returning structure = @connection.table\_info(quote\_table\_name  
(table\_name)) do  
with :  
returning structure = @connection.table\_info(table\_name) do

Math
