【发布时间】:2015-09-07 08:48:07
【问题描述】:
我正在使用带有 Ruby 和 ActiveRecord 的 sqlite3。我可以看到数据库日志生成了 SQL 语句,并且我看到了数据库日志文件正在生成 - 但是,我无法找到表(.database 仅将 main 和 temp 显示为数据库)。
Ruby 连接信息:
ActiveRecord::Base.establish_connection(
:adapter => 'sqlite3',
:host => "localhost",
:database => 'test1.db'
)
管理模型和 ActiveRecord 部分:
ActiveRecord::Schema.define do
unless ActiveRecord::Base.connection.tables.include? 'admins'
create_table :admins do |table|
table.column :email, :string
table.column :name, :string
end
end
end
class Admin < ActiveRecord::Base
validates :email, presence: true, uniqueness: true
validates :name, presence: true
has_many :bills
end
对我可能做错了什么有什么想法吗?在上述情况下,我认为我没有选择内存数据库。
【问题讨论】:
-
您检查了
db目录并没有发现任何内容吗? -
db 文件的大小不是 0 - 正如我之前所说,当我输入“.database”时,它会显示 main 和 temp,但我找不到我的 admins 表
-
你是如何创建表的,你是运行迁移还是直接尝试更新架构来检查
-
试图启动 RoR 并且很可能没有那么知识渊博。我创建了一个迁移,运行 rake db:migrate 但用于账单模型。我只是在 irb 中运行了包含 ActiveRecord Schema 部分供管理员使用的主 ruby 文件 - 那不会创建表吗?
-
标题有点模糊。 OP还提到在另一条评论中不使用rails,但使用RoR标签。考虑编辑问题?
标签: ruby-on-rails ruby activerecord sqlite