问题标签 [sqlite3-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
48 浏览

ruby - 在 ruby​​ on rails 有没有办法规定通过 Activerecord 插入数据库的字段格式?

我正在通过我的 ActiveRecord 将一些字符串(看起来像日期)插入到 sqlite3 数据库中,并且数据库正在更改该字段并使其看起来像一个日期。例如:

我寻找了一个 ruby​​ 字符串函数,它可以防止这种情况发生,但无法提出任何建议。

有没有其他人遇到过这样的事情,您是否知道任何解决方法或修复。

0 投票
1 回答
6932 浏览

ruby - 为 Ruby SQLite 插入转义字符串

我正在创建一个 Ruby 脚本,以将大约 150k 行的制表符分隔文本文件导入 SQLite。到目前为止:

尽管在我的方法gsub中转义单引号,但脚本在包含单引号的第一行出错:prepare_for_insert

它在第 15 行出错。如果我用 来检查该行puts string[14],我可以看到它在“s”附近显示错误的位置。它看起来像这样:'Touch the Top of the World: A Blind Man\'s Journey to Climb Farther Than the Eye Can See'

看起来单引号被转义了,为什么我仍然收到错误?

0 投票
1 回答
159 浏览

ruby - 选择没有自然键的唯一记录

例如,我有 table names:id integer primary key, name text unique和唯一索引names(name)

我想通过索引样式语法选择记录:(n12, nBill) = (Name[12], Name['Bill'])或使用Name.get['Smitt'].

正如文档所说,它可以用“自然键”来完成,但是如何在 SQLite 中创建它们呢?

更新:
@Frost:正如Spotlight on... Composite Keys所说,必须使用两个键调用具有复合键的记录: Name.get(1, 'Smitt'),这对我来说是错误的。我需要一些东西来通过任何键选择记录:

Name[1] == Name['Smitt'].

0 投票
1 回答
691 浏览

ruby - SQLite3::Database 和 SQLite3::Statement 的初始化方法在哪里

我是一位经验丰富的程序员,正在学习 Ruby(并且非常喜欢它)。我正在使用 SQLite3 设置数据库。为了更好地学习 Ruby,我正在追踪 SQLite3。我不明白的是,数据库和语句类的#new 代码在哪里。实际上,我期望的不是#new 方法,而是#initialize 方法。

以上两个陈述来自文档。但是在我的代码中,当我尝试追踪这个时

它只是走了过去。

然后稍后当我尝试追踪

我确实进入了 Database.rb 文件中的#execute 方法,但随后它调用了我尝试进入的#prepare 方法

但再次没有运气。它只是跨过它。

我已经搜索了源代码,完成了搜索等,但我找不到正在调用的初始化方法。他们在哪 ?

感谢您考虑这个问题。

0 投票
1 回答
602 浏览

ruby-on-rails - 安装 gem sqlite3 时出错 - centos5.6

我正在尝试在 Rails 上安装用于 ruby​​ 的 sqlite3 gem 并收到此错误...我已经通过 yum 成功安装了 sqlite3。

0 投票
1 回答
1469 浏览

ruby-on-rails - Capistrano Rails 应用程序 SQLite3 无法打开数据库

我已经设法将使用 Capistrano 部署的 Rails 应用程序部署到运行 NGinx 和Passenger 的服务器上。在部署时,我收到“我们很抱歉,出了点问题”的消息,并且由于生产日志为空白而感到相当困惑。然后我在我的 NGinx Conf 中切换rails_envdevelopment,现在我得到:

我登录到服务器,进入其中的current文件夹testcap(我相信符号链接到最新版本)并运行rake db:create,但是 db 文件存在。查看应用程序的db文件夹后,我看到了development.db& test.db

如果我运行rails s -e production然后前往 myurl.com:3000,该应用程序运行良好,这很奇怪,而且当我运行时它也运行良好rails s -e development

对于这里可能出现的问题,我完全不知所措。我确定这一定是一个相对明显的问题,可能与 capistrano 相关?我还是新手,所以我很可能会错过任何东西,但到目前为止谷歌搜索一直没有结果。

我唯一能想到的是,我的config/deploy.rb? 但是,到目前为止,我还没有在网上找到任何指南来提供帮助。

在此先感谢您的帮助 :)

杰克。

0 投票
1 回答
2334 浏览

ruby-on-rails - Sqlite 数据库在 OSX 中的位置

我正在学习 Ruby on Rails 3,并希望查看由 Sqlite3 中的各种 Scaffold 命令创建的数据库结构,以便更多地了解该过程。

在 OSX Snow Leopard 中,输入:

which sqlite3

产量:

“/usr/local/bin/sqlite3”

但是似乎找不到数据库!指向该位置只会产生以下错误消息:

连接失败。文件已加密或不是数据库

要查看 dbs im 使用:

Navicat for Sqlite

任何人都告诉我dbs实际驻留在哪里?“/usr/local/bin/sqlite3”似乎是一个符号链接:/usr/local/Cellar/sqlite/3.7.10/bin/sqlite3s

0 投票
1 回答
2736 浏览

ubuntu - 为什么 apt-get install libsqlite3-dev 给我一个 404 错误?

我正在尝试使用 bundler 安装 sqlite3 gem,但遇到了常见Failed to build native gem extensions错误。我正在尝试安装必要的文件来解决此问题并使用成功安装了 ruby​​-dev apt-get install,但是当我运行时出现apt-get install libsqlite3-dev此错误:

我尝试运行 apt-get update 并再次遇到一堆404 not found错误,并且运行命令 with--fix-missing没有做任何事情。

知道下一步该怎么做吗?

0 投票
1 回答
796 浏览

ruby-on-rails - Rails 3.2.4 SQL 查询在 find(:all) 上缓存结果

我不确定这个系统是否正在缓存数据,但它具有一些缓存的特性。

基本上我在使用 rails 3.2.4 并且系统开始不显示一些结果。我认为这是我放入代码模型的默认范围的露水,但即使如此,它也应该显示所有结果,而不是 10 个中的 9 个。但是我总是会丢失我创建的新记录以及我之后创建的任何其他记录那个记录。我检查我的 sqlite3 数据库以查看数据是否放置在其中,并检查所有连接信息以及确保缓存已关闭。但是,如果我更改任何模型文件或控制器文件然后保存它,我可以让数据显示出来。甚至不会更改代码,只需触摸命令即可。我认为这与范围有关,但我不能完全确定。我发现的一种解决方案就是回到 Rails 3.2.2。它似乎可以解决问题。

发展.rb

房子.rb

架构.rb

房屋控制器.rb

房屋/index.html.erb

正如你所看到的,没有什么超级疯狂的。

0 投票
1 回答
452 浏览

ruby-on-rails - 我在 ActiveRecord 中的保存方法出现 Rails 错误

在此处输入图像描述

我在调用保存方法时发现了这个错误

我的 Rails Envi:Rails 3.2.5、sqlite 3.7.12(在 GemFile 1.3.6 中)、最新的 ActiveRecord

提前谢谢你。