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

Rails在哪里存储通过在测试期间保存activerecord对象而创建的数据?

Rails在测试期间通过activerecord对象保存的数据会被存储在内存中,而不是在磁盘上。这是因为Rails在测试期间使用的是内存数据库,而不是磁盘数据库。内存数据库的速度更快,但是数据不会被持久化存储。

如果您需要在测试期间将数据持久化存储在磁盘上,可以使用磁盘数据库,例如MySQL或PostgreSQL。要将Rails应用程序配置为使用磁盘数据库,您需要在config/database.yml文件中指定数据库类型和连接信息。

以下是一个使用MySQL作为测试数据库的示例配置:

代码语言:yaml
复制
test:
  adapter: mysql2
  encoding: utf8
  database: my_test_database
  username: my_username
  password: my_password
  host: localhost

在这个配置中,Rails将使用MySQL数据库来存储测试期间的数据。您需要确保已经安装了MySQL数据库,并且已经创建了一个名为my_test_database的数据库。

如果您需要在测试期间使用特定的数据库,可以使用Rails的ActiveRecord::Base.establish_connection方法来指定数据库连接。例如,以下代码将连接到名为my_test_database的MySQL数据库:

代码语言:ruby
复制
ActiveRecord::Base.establish_connection(
  adapter: 'mysql2',
  encoding: 'utf8',
  database: 'my_test_database',
  username: 'my_username',
  password: 'my_password',
  host: 'localhost'
)

请注意,使用磁盘数据库会降低测试速度,因此建议仅在需要时使用。

相关搜索:通过函数和使用方法创建对象,而不将对象存储在变量中尝试在Rails控制器中创建不从ActiveRecord/ApplicationRecord继承的对象,但失败在python中通过w模式创建的文件保存在哪里?通过存储在字符串中的名称创建类的对象?在TDD中创建测试数据的最佳位置在哪里?如何使用存储在不同数据类型的变量中的数据创建json对象在保存之前,通过不同的控制器存储来自用户的临时数据在没有数据库的情况下运行rails generate scaffold时,RoR在哪里定义它创建的对象?创建空游戏对象,将已有游戏对象的数据存储在新游戏对象中,然后销毁已有游戏对象在规则测试数据集中创建Firestore时间戳对象的正确方法是什么?在R中的数据表中创建新变量并保存到新对象中如何重新加载已保存的模型(使用图形?)在未来的测试数据上创建相同的结果?对Jquery中的REST服务的AJAX请求,在通过URL而不是通过数据对象发送参数时获得响应如果我不能创建一个在模型中禁止过去日期的对象,如何使用RSpec on Rails测试过去的日期?为什么在rspec测试中有创建并存储在数据库中的项,但应用程序看不到它已存储在Shopify中创建自定义数据以保存到customer对象中并在不同的页面上进行访问如何从一个Oracle数据库的多个表中检索数据,创建一个数据表,然后将这些数据存储在C#中的一个类对象中?在Chrome或其他浏览器中运行时,通过Firefox中的本地when应用程序创建的本地存储数据集可供同一when应用程序访问
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券