加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:在所有测试中获取“表事件没有名为user

发布时间:2020-12-17 03:49:00 所属栏目:百科 来源:网络整理
导读:我所有的测试都给出了错误.我尝试排序好一段时间,但无济于事.它们类似于以下内容: 30) Error: UserTest#test_a_user_should_enter_a_first_name: ActiveRecord::StatementInvalid: SQLite3::SQLException: table events has no column named user_id: INSER
我所有的测试都给出了错误.我尝试排序好一段时间,但无济于事.它们类似于以下内容:

30) Error:                                                                                                     
UserTest#test_a_user_should_enter_a_first_name:                                                                 
ActiveRecord::StatementInvalid: SQLite3::SQLException: table events has no column named user_id: INSERT INTO "ev
ents" ("text","event_start","user_id","created_at","updated_at","id") VALUES ('MyText','2012-08-10',20790
7133,'2014-04-02 03:43:47',980190962)                                                  


 31) Error:                                                                                                     
UserTest#test_a_user_should_enter_a_last_name:                                                                  
ActiveRecord::StatementInvalid: SQLite3::SQLException: table events has no column named user_id: INSERT INTO "ev
ents" ("text",980190962)                                                  


 32) Error:                                                                                                     
UserTest#test_a_user_should_have_a_profile_name_without_spaces:                                                 
ActiveRecord::StatementInvalid: SQLite3::SQLException: table events has no column named user_id: INSERT INTO "ev
ents" ("text",980190962)

我应该提到应用程序本身工作得非常好.各种各样的东西取决于user_id属性,并且它们运行.

至于测试,我环顾四周,发现提到检查你的灯具文件!每当我重命名列时,我通常会忘记调整我的灯具来匹配.这会导致每次测试都出错,就像你看到的一样. Error in all unit and functional tests after altering column names of a table不确定这是否适用于我的问题.如您所见,它表示事件已经有一个user_id.我不太了解所有测试都失败了,即使是看似无关的测试.这就是让我失望的原因.

我的GitHub部分:https://github.com/attatae/and_silva

还看了这个:Rails 3.0.7 with ruby 1.9.2 fixtures with :belongs_to and :has_many gives “table users has no column named posts”

我是否需要将user_id插入xxyynum_create_events.rb?
即整数:create table下的user_id:events do | t |

我试过的其他事情:
rake db:test:prepare
rake db:migrate RAILS_ENV = test
然后丢弃然后重新创建数据库

所有帮助非常感谢.

更新===============

发布后,我将[bignum] _create_events.rb改为:

class CreateEvents < ActiveRecord::Migration
  def change
    create_table :events do |t|
      t.string :title
      t.datetime :time_begin 
      t.string :location
      t.date :event_start
      t.text :text
      t.integer :user_id
      t.text :user 

      t.timestamps
    end
  end
end

然后我尝试使用bundle exec rake db:reset&&捆绑exec rake db:populate&& bundle exec rake db:test:prepare但是收到错误“”不知道如何构建任务’db:populate’.

所以我尝试了捆绑exec rake db:drop&&捆绑exec rake db:create&&捆绑exec rake db:migrate&&捆绑exec db:test:准备,但它说
没有这样的表:事件:ALTER TABLE“events”ADD“address”varchar(255)C:/ Rails Projects / Git pull / and_silva / db / migrate / 20140329045140_add_address_to_event.rb:3:inchange’`

接下来我进入开发并测试沙箱,他们都说事件(表不存在).

然后我尝试运行rails只是为了确保我甚至试图修复正确的程序,因为我的应用程序之前运行得很好,显然在事件中没有user_id方面.

该网站称迁移正在等待中;运行’rake db:migrate RAILS_ENV = development’来解决此问题.我尝试运行rake db:migrate.然后它说:

==  AddAddressToEvent: migrating ==============================================
-- add_column(:events,:address,:string)
rake aborted!
An error has occurred,this and all later migrations canceled:

SQLite3::SQLException: no such table: events: ALTER TABLE "events" ADD "address" varchar(255)C:/Rails Projects/Git pull/and_silva/db/migrate/20140329045140_add_address_to_event.rb:3:in *change'
C:in `migrate'
Tasks: TOP => db:migrate

然后我跑了rake并得到了与之前32次测试相同的错误.

我运行了rake db:migrate RAILS_ENV = development,然后得到了相同的AQLite3 […] ALTER TABLE错误.

解决方法

检查灯具并查看它们是否与您的架构不匹配.

我遇到了类似的问题.我的灯具有一个旧值,即使我从我的数据库中删除它.因此,Rails测试正在加载灯具,它们与我更新的数据库不同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读