首页 文章

Ruby脚本/控制台和Ruby脚本/服务器使用两个不同的DB?

提问于
浏览
1

有没有人看到脚本/控制台和脚本/服务器加载两个不同的数据库(虽然两个报告使用相同的)?这是第一个输出

$ script/server
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-03-21 15:54:05] INFO  WEBrick 1.3.1
[2010-03-21 15:54:05] INFO  ruby 1.8.7 (2010-01-10) [i386-mingw32]
[2010-03-21 15:54:05] INFO  WEBrick::HTTPServer#start: pid=7148 port=3000

没有错误 . 然后我运行我的标准代码输入表格 - 没有问题 .

检查开发数据库(底部为.yml):

mysql> select * from books;
[...]
| 712 | Book | Book Name | 2010-03-21 22:29:22 | 2010-03-21 22:29:22 |
[...]
712 rows in set (0.00 sec)

几秒钟前代码清除了它

现在这里是脚本/控制台的输出:

$ script/console
Loading development environment (Rails 2.3.5)
>> Book.all
=> []

没有 . 此外,经过进一步检查,它正在使用 生产环境 数据库,但我无法弄清楚原因 . 这有什么想法?所有控制台都已关闭并重新打开 .

UPDATE: 请求.yml文件(可以't see how it' d有用(每个用户名和密码都相同)) -

development:
  adapter: mysql  
  database: BooksDBdev
  username: <user name>
  password: <long string>
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql
  database: BooksDBtest
  username: <user name>
  password: <long string>
  timeout: 5000

production:
  adapter: mysql
  database: BooksDB
  username: <user name>
  password: <long string>
  timeout: 5000

Updated 2 :这是我强制控制台环境时的输出 .

$ script/console development
Loading development environment (Rails 2.3.5)
>> Book.all
=> []
>> exit

$ ruby script/console development
Loading development environment (Rails 2.3.5)
>> Book.all
=> []

仅供参考,我的环境变量中没有指定RAILS_ENV .

2 回答

  • -1

    多个型号名称?哎呀!你有另一种名为Book或其他的模特吗?

  • 0

    你在不同的终端同时运行这些吗?如果是这样,您可能需要在控制台中执行 reload! 以显示数据库更改 .

相关问题