0

我试过了 ”AddvideoToQuestions video: references"

一个问题有_许多视频。一个视频属于一个问题。

试图 rake db:migrate,并得到以下错误。

这是怎么回事?我终于深入研究 Rails 编码(我的第一种真正的语言),这个错误一直困扰着我。

SQLite3::SQLException:靠近“参考”:语法错误:ALTER TABLE“问题”添加“视频”参考/Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/sqlite3-1.3.7/lib /sqlite3/database.rb:91:在“初始化”中

@Marek Lipka - 尝试过并db:migrate再次尝试 rake,但仍然是同样的错误。

以下是日志:

(抱歉——不熟悉如何呈现代码块。

QLite3::SQLException:靠近“参考”:语法错误:ALTER TABLE“问题”添加“视频”参考/Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/sqlite3-1.3.7/lib /sqlite3/database.rb:91:in initialize' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:91:in new' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:91:in prepare' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/sqlite3-1.3.7/lib/sqlite3/database.rb:134:in 执行' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/sqlite_adapter.rb:278:in block in execute' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:280:inblock in log' /Users/davidngo/. rvm/gems/ruby-1.9.3-p429/gems/activesupport-3.2.3/lib/active_support/notifications/instrumenter.rb:20:in instrument' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract_adapter.rb:275:inlog' /Users/davidngo/.rvm/gems/ruby-1.9.3 -p429/gems/activerecord-3.2.3/lib/active_record/connection_adapter/sqlite_adapter.rb:278:in execute' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/schema_statements.rb:264:in add_column' add_column' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:466:in/Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/sqlite_adapter.rb:400:in block in method_missing'/Users/davidngo/ .rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:438:in block in say_with_time' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:438:insay_with_time' /Users/davidngo/.rvm/gems/ruby-1.9.3- p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:458:in method_missing' /Users/davidngo/Desktop/Coding/RoR_Practice/videxpert/db/migrate/20130809091631_add_video_to_question.rb:3:in change' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib /active_record/migration.rb:407:in block (2 levels) in migrate' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:407:inblock in migrate' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool。 RB:119:在 with_connection' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:389:in迁移' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:528:in migrate' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:720:inblock (2 levels) in migrate' /Users/ davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:775:in call' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:775:inblock in ddl_transaction' /Users/davidngo/.rvm/gems/ruby- 1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in transaction' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/transactions.rb:208:intransaction' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems /activerecord-3.2.3/lib/active_record/migration.rb:775:in ddl_transaction' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:719:inblock in migrate' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/ active_record/migration.rb:700:in each' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:700:inmigrate'/Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:570:在up' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/migration.rb:551:in迁移' /Users/davidngo/.rvm/gems/ruby-1.9.3-p429/gems/activerecord-3.2.3/lib/active_record/railties/databases.rake:153:in 'block (2 levels) in '

4

2 回答 2

0

尝试这个:

bundle exec rails g migration add_video_to_questions video:references
于 2013-08-13T08:46:41.387 回答
0

我相信这已经在: Rails 3 迁移:添加参考列?

话虽如此,我也有类似的问题。我无法告诉您到底出了什么问题,但这是我解决问题的方法:

rails g 迁移 add_video_id_to_questions video_id:integer

于 2014-04-01T14:25:06.093 回答