Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何访问/打开/编辑.sqlite33文件?_Ruby On Rails_Ruby_Database_Sqlite_Edit - Fatal编程技术网

Ruby on rails 如何访问/打开/编辑.sqlite33文件?

Ruby on rails 如何访问/打开/编辑.sqlite33文件?,ruby-on-rails,ruby,database,sqlite,edit,Ruby On Rails,Ruby,Database,Sqlite,Edit,我是RubyonRails的新手,从未参与过它,但我应该接管别人的老项目。他设计了一个网络应用程序,可以在线登录网站/服务器,每天从中提取数据并进行计算。但是,应用程序已经有一段时间没有运行了,所以现在当它试图显示统计信息时,页面崩溃。它使用5周的数据,目前只有2天的数据 我需要手动插入缺少的几周的数据,以便让它重新启动并运行,但问题是我不知道如何查找/访问它的数据库,也不知道如何准确地使用Ruby on Rails。我在他的项目的db目录中找到了几个文件,但它们大多是.sqlite33文件或只

我是RubyonRails的新手,从未参与过它,但我应该接管别人的老项目。他设计了一个网络应用程序,可以在线登录网站/服务器,每天从中提取数据并进行计算。但是,应用程序已经有一段时间没有运行了,所以现在当它试图显示统计信息时,页面崩溃。它使用5周的数据,目前只有2天的数据

我需要手动插入缺少的几周的数据,以便让它重新启动并运行,但问题是我不知道如何查找/访问它的数据库,也不知道如何准确地使用Ruby on Rails。我在他的项目的db目录中找到了几个文件,但它们大多是.sqlite33文件或只是“files”。我下载了用于Windows的sqlite预编译二进制文件并尝试使用它,但不确定该怎么办。我还下载并尝试使用SQTView打开文件以更改表,但没有成功

如何判断哪个文件是主数据库以及如何编辑它?什么是.sqlite33文件?谢谢

编辑 该应用程序生成一个 HomeController#索引中的类型错误 “零不能强制为浮动”

它将错误链接到代码中的一行,但发生错误的唯一原因是表中没有该代码行中的变量尝试使用的时间段的数据。这就是为什么我想用值手动更新它

我想Sqliteman可能会做这个把戏,谢谢你向我解释这一切。我只需要在编辑后确认它是否有效

编辑2 好吧,在他的应用程序上做实验时,我有一个小发现。结果表明,页面崩溃是因为整整几个星期都是空值。如果到本周为止,我每周至少有一天使用该应用程序收集数据,那么该应用程序就能正常工作

是否有一种方法可以填充所有缺少的日期,而不必手动单击日历中的日期,因为加载它需要20-30秒


非常感谢您的帮助。

Rails应用程序的数据库是在
config/database.yml
中定义的,尽管数据库本身和方案都在
db
文件夹中。在
database.yml
中,您将找到三种数据库配置—开发、测试和生产—因此请确保选择正确的文件

我从未听说过
.sqlite33
文件,但要手动编辑SQLite文件,我建议。但我不建议手动编辑它

我的建议是检查你是否在开发或生产模式下运行应用程序,因为两个MOD使用不同的数据库。尝试在其他模式下运行它

如果不起作用,请尝试保存数据库文件的副本,然后运行以下命令:

bundle install
bundle exec rake assets:precompile
rake db:migrate
rake db:migrate RAILS_ENV="production"
(如果您使用的是Linux,您可能还希望使用
sudo
运行第一个命令)

这些命令确保安装了所有必需的gem,预编译的资产是最新的,并且数据库符合模式。如果您在同一台机器上运行该应用程序,并且使用的数据库与另一个人使用的数据库相同,那么这些命令应该是不必要的,但是如果您已将该应用程序移动到自己的机器上,或者使用了过时的db文件,那么这些命令可能会修复崩溃


无论如何,如果您告诉我们应用程序产生了什么错误,我们可能会提供更多帮助。

您错过了rake db:consolethough@Viren:在运行rails应用程序之前,我编写了从源代码准备rails应用程序所需的命令
rakedb:console
不需要安装和运行应用程序-这有助于调试应用程序。另外,OP说他没有处理SQLite命令行工具,而且由于
rake db:console
打开了配置数据库的命令行工具,我看不出这对他有什么帮助。