基本信息
我有一个rails app A ,它连接到dotcloud.com上托管的mysql数据库。下面是我的database.yml文件的样子,
production:
adapter: mysql2
host: <host>
port: <port>
database: <database_name>
username: <username>
password: <password>
直到这里工作正常,我可以从 A 访问数据库中的记录,查询和填充。
现在我有另一个需要与 A 连接到同一数据库的rails应用 B ,所以我只需将上面完全相同的详细信息复制并粘贴到数据库中 B 中的.yml文件。但是,当我试图在生产中进入rails控制台时,我似乎无法访问数据库。例如,如果我有一个用户表,它只会说NameError: uninitialized constant User
。
这是一个访问控制问题吗?我该如何调试此问题?
感谢任何建议。
更新
因此,我将.rb和架构文件从 A 复制并粘贴到 B 。但是,当我尝试在rails控制台中访问数据库时,我得到uninitialized constant ActiveRecord (NameError)
。谁知道怎么做?
答案 0 :(得分:1)
我最终创建了一个新的rails应用程序,并再次设置所有内容。复制相同的database.yml配置然后执行rake db:migrate,然后包含必要的模型文件,进入rails控制台,它现在可以正常工作。
:)
答案 1 :(得分:0)
您是否为app B运行了迁移?当然,数据库已经设置,但App B没有架构的副本。因此,您可以在App B中运行迁移,也可以将架构从App A复制到App B.
答案 2 :(得分:0)
尝试使用以下方式列出您的表格:
ActiveRecord::Base.connection.tables
如果您至少可以正确访问数据库,则应该显示。