首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rails 6测试-在先前删除的表上出现“找不到表”错误

问题描述: 在Rails 6应用程序中,我删除了一个表,并且在运行测试时遇到了一个“找不到表”错误。我已经确认数据库中没有该表,但测试仍然尝试访问它。我该如何解决这个问题?

解答: 这个问题可能是由于Rails的schema缓存导致的。当你删除一个表后,Rails的schema缓存可能仍然保留了该表的信息,导致测试仍然尝试访问该表。

解决这个问题的方法是清除Rails的schema缓存。你可以按照以下步骤进行操作:

  1. 停止所有正在运行的Rails服务器和测试运行器。
  2. 在终端中进入你的Rails应用程序的根目录。
  3. 运行以下命令清除schema缓存:
  4. 运行以下命令清除schema缓存:
  5. 这个命令将删除数据库中的所有表,包括之前删除的表。
  6. 运行以下命令重新创建数据库和迁移:
  7. 运行以下命令重新创建数据库和迁移:
  8. 这将创建一个新的数据库并运行所有未运行的迁移。
  9. 运行以下命令重新加载schema缓存:
  10. 运行以下命令重新加载schema缓存:
  11. 这将重新生成schema缓存,包括新创建的数据库表。
  12. 最后,重新启动你的Rails服务器或运行测试。

这样,你应该不再遇到“找不到表”错误了。如果问题仍然存在,你可以尝试重启你的开发环境或清除其他缓存,如Rails的缓存或浏览器缓存。

推荐的腾讯云相关产品: 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb 腾讯云数据库PostgreSQL:https://cloud.tencent.com/product/postgres 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm 腾讯云云原生容器服务TKE:https://cloud.tencent.com/product/tke 腾讯云对象存储COS:https://cloud.tencent.com/product/cos 腾讯云区块链服务BCS:https://cloud.tencent.com/product/bcs

请注意,以上链接仅供参考,具体产品选择应根据实际需求和情况进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用spring提高rails开发效率

rails开发者都有着这样类似的经历: pair写了一个测试 运行测试 等待 该我来编写产品代码 运行测试 等待 代码有bug 测试失败 修复测试 运行测试 等待 测试通过,yeah!...再回过头来想想,我享受这段pair过程吗? pair很给力,很快就把一个taks实现成一个测试用例 桌子水果也很好吃。 。。。...他们原理都是预先把rails环境启动起来,后面在运行测试,执行rake task时从这个启动好进程fork一个进程,在这个进程中执行操作。...###安装 建议把spring安装到rvmglobal gemset中去,这样就可以多个project使用spring 安装命令非常简单: gem install spring ###使用 执行测试命令也非常简单...,spring会从先前进程中fork出load好rails环境,执行速度就变得飞快!

3.5K60
  • 用selenium自动化验收测试

    (也称功能测试)是用来测试手工任务功能,但是手工测试这些任务可能很花时间,并且容易出现人为错误。...本文中,作者为架构师、开发人员和测试人员展示了如何使用 Selenium 测试工具来自动化验收测试。通过自动化测试,可以节省时间,并消除测试人员所犯错误。...Web 应用程序验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述操作。但是手工执行任务容易出现操作人员人为错误,也比较费时间。...测试用例和命令按照它们测试套件和测试用例中出现顺序依次执行。 清单 1 中: 第一列包含命令 或断言。 第二列包含命令或断言目标(target)。...失败测试用例和断言将被标记为红色,但是这里,两个浏览器中所有用例都应该可以成功完成(同样见 图 6)。

    6.2K30

    手把手教你centos7安装GitLab服务器

    如果找不到unicorn['port'],可以先执行gitlab-ctl reconfigure 7、执行 gitlab-ctl reconfigure 注:6、7步骤执行顺序可以颠倒,如果先执行7步骤...出现 Error executing action `create` on resource 'group[gitlab-www]'则看后边错误提示内容,根据提示错误内容进行操作即可。...console进入控制台交互界面, 然后控制台提示符后输入下面内容发送一封测试邮件,测试完成后exit()退出。...nginx端口已经有修改过了,则还要进行如下配置,否则可能会出现访问gitlab相关一些页面访问不到 vim /opt/gitlab/embedded/service/gitlab-rails/config...搭建过程中可能踩坑 1、服务器修改过ssh端口坑 解决方案:需要修改配置ssh端口 vim /etc/gitlab/gitlab.rb gitlab_rails['gitlab_shell_ssh_port

    3.7K31

    GetLastError错误代码

    〖1〗-功能错误。   〖2〗-系统找不到指定文件。   〖3〗-系统找不到指定路径。   〖4〗-系统无法打开文件。   〖5〗-拒绝访问。   〖6〗-句柄无效。   ...〖62〗-无法服务器获得用于保存待打印文件空间。   〖63〗-删除等候打印文件。   〖64〗-指定网络名不再可用。   〖65〗-拒绝网络访问。   ...〖132〗-无法指定设备或文件设置文件指针。   〖133〗-包含先前加入驱动器驱动器无法使用 JOIN 或 SUBST 命令。   ...〖1018〗-试图标记为删除注册表项运行不合法操作。   〖1019〗-系统无法配置注册日志中所请求空间。   〖1020〗-无法已有子项或值注册表项中创建符号链接。   ...〖1155〗-没有应用程序与此操作指定文件有关联。   〖1156〗-输送指令到应用程序过程中出现错误。    〖1157〗-执行该应用程序所需库文件之一无法找到。

    6.3K10

    ROR学习笔记(1):Rails 2快速创建GRUD应用

    机器没安装ROR开发环境朋友,请先参看 ruby on rails + mysql 开发环境搭建 架好环境 注:ROR经典著作“Web开发敏捷之道--应用Rails进行敏捷Web开发”目前中文只有第二版...,作者写书环境是rails 1.x,现在rails版本已经更新至2.3.5,很多东西已经变了,如果参考第二版书上一步步来做的话,根本做不下去。...,同时mysql中把database.yml对应数据库建好(注意编码建议选择为utf8) 注意:mysql不要安装最新5.1版本,建议用5.0版本,否则rake在做数据库迁移时,可能会出现问题....4.测试是否能跑起来 D:\MyDoc\Ror\depot>ruby script/server 运气好的话,浏览本机 http://localhost:3000/ 应该能出现以下画面 ?...中linq to sql/entity,是先在数据库中建,然后自动映射成实体类,而在ROR中是反过来

    2K90

    ruby on rails + mysql 开发环境搭建

    (代码写完了并保存为.rb文件以后,直接F5就可以运行) 2.安装rails,命令行键入: gem install rails 不知道什么原因,我机器(windows 2008 sp2)一直提示如下错误...:http://hi.baidu.com/camark/blog/item/10958516dce12d52f3de32c9.html) 4.创建测试rails测试项目: 命令行: rails c:\...成功后,mongrel服务器将在本机3000端口监听http请求,访问http://localhost:3000/ 试下,如果出现以下画面,则rails环境基本ok了 ?...,注意语言选择,建议选utf8 提示:最好安装4.1或5.0版本,不要安装最新5.1版本,rails框架对5.1版本mysql支持并不好,rake db:migrate时总提示出错 5.2 找一款适合自己...group_id=904 下载InstantRails-2.0-win.zip解压后得到) 然后就可以代码中连接了: ? ok,基本搞定了,好好享受ROR乐趣吧。

    3.8K50

    GreenDao 兼容升级,保留旧数据---全方面解决方案

    思路参考 在上面的基础做出如下步骤总结: (看不懂看下面的符号描述) 创建之前旧表中不存在 创建中间 & 把旧表数据迁移到中间 把旧表全部删除 创建所有新 把中间数据迁移到新 &...它默认是先删除全部再创建 // super.onUpgrade(db, oldVersion, newVersion); } } 产品级别的可能错误 因为混淆了 dao 类文件...,导致 createTable 方法找不到,解决方法,不要混淆 dao 文件 restore 步骤中因为新加入字段含有 int boolean 基础类型,因为不具备默认值而导致出现 SQLiteConstraintException...: NOT NULL constraint failed 错误,解决方法,采用 Integer Boolean 类型替换,这个你只能妥协,因为 greenDao 作者不屑于在你建时候提供默认值方法。...1, 答: sqlLite 源码里面调用 onUpdrade方法入口皆加上了同步琐,这样不会造成升级中还能让你去读写情况。 这点设计得非常优秀!太多,几百张?那么就放入子线程升级。

    1.4K50

    不是 Ruby,而是你数据库

    为了深入分析这个问题,我将会比较一些非 Rails、非 HTTP、纯 Ruby 脚本。 Ruby 处理大量数据方面并不擅长,但从本质讲,这正是 Web 服务所需要。...然而,Rails 魔力使其从此开始使用这一特性。每次页面加载都会导致大约 2 秒钟数据库查询,占用数据库服务器所有 CPU 和 IO。 当然,这是个愚蠢错误。...我们没有看到这一点,因为开发和测试中,性能从未下降。但我们应该注意到是,这种错误代码库中比比皆是。...20 毫秒减速几乎无法衡量,数百个 20 毫秒速度减慢几个月内逐渐增加,使响应变得令人无法接受。最糟糕是,这些 “错误” 被团队贴上了 “以 Rails 方式完成” 标签。...我遇到一些问题是:“我已经知道 Rails,但不知道 Sinatra”,或者“管理要求我们类似的代码库运行一切”。实际,最后一个理由不成立。

    13530

    《Prometheus监控实战》第8章 监控应用程序

    USE和RED方法,以及Google黄金指标 我们还会查看应用程序功能和状态,一个很好例子可能是成功登录,或者错误、崩溃和失败。...然后可以使用Rails控制台来测试客户端,现在通过rails c命令启动一个客户端 代码清单:使用Rails控制台测试Prometheus客户端 ?...metrics库依赖 代码清单:文件/config/initializers/lib.rb require 'metrics' 我们可以为一些方法添加指标,让我们从删除用户计数器开始 代码清单:删除用户计数器...注册中指定所有指标。...惧器将一些HTTP服务器指标添加到通过Rack中间件收集端点 代码清单:Rails/metrics端点 ? 使用指标 现在应用程序已生成指标,我们可以Prometheus中使用它们。

    4.6K11

    ArcEngine 中-2147467259错误

    大家好,又见面了,我是你们朋友全栈君。 近日ArcEngine中做InsertFeature(向*.mdb数据中添加要素)操作时出现了-2147467259错误。...由于代码之前测试中没有上述异常,遂怀疑是数据问题。经过排查,发现数据属性中有一个字段长度变短,而待添加要素相关字段长度超标导致了上述问题,修改后错误消失。...总结:这次出现-2147467259错误为数据问题,由于没有详细错误原因,处理起来非常棘手,需要将先前未报错数据与报错数据仔细对比,一步步发现问题。...应用字段,Access 会警告提示该字是保留字,且引用该字段时可能会遇到错误。...此外,之前ArcCatalog中还遇到过一个奇怪现象,将一个图层从一个mdb文件复制到另一个mdb文件中时候,图层中DATE字段会自动变成DATE_且没有任何提醒,这导致后续使用时出现找不到DATE

    2.9K30

    专为初学者打造MySQL学习笔记(增删改查常用语句命令)

    如果没有提供可选连接标识,本函数会去找一个到 MySQL 服务器已打开连接,如果找不到已打开连接则会尝试无参数调用 mysql_connect() 来建立一个。...注意此函数不会切换回先前连接到数据库。换句话说,不能用此函数临时另一个数据库执行 sql 查询,只能手工切换回来。...4000元,job修改为ccc: update employee set salary=4000,job='ccc' where name='aaa'; 将‘wu’薪水原有基础增加1000元: update...employee set salary=salary+1000 where name='wu'; 删除数据 删除中名称为‘zhangsan’记录: delete from employee where...job='zhangsan'; 删除中所有记录: delete from employee; 使用truncate删除中记录: truncate table employee; 查询数据 查询中所有学生信息

    48420

    Ruby 应用容器封装踩坑记录(Lobsters)

    一回合中,构建镜像出现警告根本原因在于文章开头我们指定了BUNDLED WITH 1.17.3。...所以 Gemfile.lock 中,可以直接删除 BUNDLED WITH 相关版本配置,另外可以将上一回合添加安装旧版本 bundler 命令从 Dockerfile 也删除掉。...除了第三回合我们有指定 rake 版本外,其实最初镜像也有声明 rake 版本。所以我们先尝试将两条声明都删除,进行镜像构建测试: ......su lobsters -c "gem install rake bundler --user-install"; 果不其然,之前找不到 rake 问题解决了,但是出现了一个新问题。...但是实际测试,不论是 Gemfile.lock 中声明最初2.0.2,还是当前最新 2.1.4 ,都无济于事。

    7.4K10

    Ruby 应用容器封装踩坑记录(Lobsters)

    一回合中,构建镜像出现警告根本原因在于文章开头我们指定了BUNDLED WITH 1.17.3。...所以 Gemfile.lock 中,可以直接删除 BUNDLED WITH 相关版本配置,另外可以将上一回合添加安装旧版本 bundler 命令从 Dockerfile 也删除掉。...除了第三回合我们有指定 rake 版本外,其实最初镜像也有声明 rake 版本。所以我们先尝试将两条声明都删除,进行镜像构建测试: ......su lobsters -c "gem install rake bundler --user-install"; 果不其然,之前找不到 rake 问题解决了,但是出现了一个新问题。...但是实际测试,不论是 Gemfile.lock 中声明最初2.0.2,还是当前最新 2.1.4 ,都无济于事。

    4.8K00

    DB2维护手册

    一旦 DB2 活动日志文件被删除,或者所在存储设备出现问题,则不可避免地造成 DB2 数据库系统宕机。...错误时间调整可能会造成很多问题,如: 1)某些对象失效,例如 : SQL0440N,找不到具有兼容自变量类型为 “” 名为 “” 已授权例程 2)数据库日志逻辑错误 -...物理索引页顺序不再与这些页键顺序相匹配(此称为不良集群索引)。 叶子页出现不良集群情况后,顺序预取操作效率将降低,因此会导致更多 I/O 等待。...如果先前已收集关于一些 XML 列统计信息,则在当前命令未收集关于该 XML 列统计信息时,将删除先前收集 XML 列统计信息;在当前命令收集了关于该 XML 列统计信息时,将替换先前收集...如果对选择性部分更新运行 RUNSTATS 期间由于活动而产生了不一致性,则在查询优化期间将发出警告消息(SQL0437W,原因码 6)。

    2.1K51

    【初阶数据结构】深入解析顺序:探索底层逻辑

    线性是一种实际中广泛使 用数据结构,常见线性:顺序、链表、栈、队列、字符串等。线性逻辑是线性结构,也就说是连续一条直线。...但是物理结构并不一定是连续, 线性物理上存储时,通常以数组和链式结构形式存储 二、顺序概念 顺序属于线性其中一种。顺序逻辑、物理结构是连续,顺序底层逻辑实现一般是数组。...关于物理结构连续是指一段物理地址连续存储单元依次存储数据元素结构 三、顺序分类 顺序分为两种:静态顺序和动态顺序,每一种都属于它自己价值,实际中。...接口底层逻辑中,值得我们注意是当capacity为空(零乘任何数为零),会导致申请空间大小出现错误。...:遍历顺序,如果满足条件返回当前位置下标,没有找到返回一个负数表示找不到

    8620

    常见9种错误提示、原因及解决办法!|PQ实战

    很多朋友使用Power Query过程中,经常会碰到一些感觉看不懂错误提示,现总结9种常见情况收藏如下,也方便大家碰到问题时可以搜寻得到: 1、找不到名为“示例操作数据源!..._FilterDatabase”Excel 原因:Power Query查询步骤引用删除,或名被变更。...同时,这里有一种比较隐秘情况,即Excel进行数据筛选时候,会生成一个临时“筛选”,而如果后续处理步骤中却不小心引用了,就比较可能出错。...、提升标题后出现数据转换错误 这一般都是数据类型转换错误,当出现错误不多是,可以直接点击链接生成错误明细,进入Power Query查看每一出错行具体情况然后做相应处理。...7、找不到记录字段“……” 这种情况通常是列名变了,或者在数据处理过程中,前面的步骤删除了后面步骤所需要用到列或修改了相关列列名。

    5.6K20

    GitLab安装与基础使用

    [TOC] 0x00 前言 开源世界中,是没有终结尽头! 描述:GitLab 是一个非常优秀项目。这是一个开源项目,允许用户自己服务器运行类似于 GitHub 项目管理系统。...,他们有两种产品: 免费开源软件,用户可以自己服务器安装,以及类似于 GitHub 托管服务。...同一台Centos7机器卸载了旧版本gitlab后,接着又重新安装新版本gitlab-ce 安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was....修改配置文件添加最后两行egrep -v "^#|^ 连接上后找到对应identities修改对应字段,其实就是把字段中user_id修改掉,我这里做法就是把用户user_id改成了负数,这样...Ldap认证时就找不到了,从而走标准认证(这是不重启Gitlab情况下进行)。

    8.5K20

    Ubuntu 安装 Discourse 开发环境

    本文章假设你还没有 Ubuntu 环境中安装 Ruby/Rails/Postgres/Redis 环境,让我们开始开发环境配置吧!...本开发指南 Ubuntu 18 验证过不需要任何其他步骤就可以完成开发环境设置。  ...测试环境  有关在 Ubuntu 低于 20.04版本安装 Discourse 测试环境 根据我们进行测试经验来看,Ubuntu 22 版本中可能有无法编译和包找不到情况,我们还只 20.04...安装 Discourse 依赖 作为一般用户,可以控制台中运行下面的命令: this script 。上面的命令将会帮助你本地开发环境中快速设置 Rails。...rake db:migrate RAILS_ENV=test bundle exec rake db:create db:migrate 如果在运行时候出现错误,请仓库: Discourse 开发环境安装运行

    2.6K50
    领券