設置config/database.yml特別注意

在rails的config/database.yml中有一段注釋:

# 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.

我沒有注意,不小心將三種環境的database設成一樣了,昨天運行了一下:rake --trace,就將已經上線的系統資料全部清除了,真是'慘!慘!慘!'。

我通常會用到sqlite、mysql、oracle,一般database.yml設置如下:

development_defaults: &development_defaults
<% if RUBY_PLATFORM =~ /java/ %>
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/rged_development
  database: myapp_development
  username: root
  password:
  host: localhost
<% else %>
  adapter: mysql
  database: myapp_development
  username: root
  password:
  host: localhost
  #socket: /opt/local/var/run/mysql5/mysqld.sock
<% end %>

test_defaults: &test_defaults
<% if RUBY_PLATFORM =~ /java/ %>
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/rged_test
  database: myapp_test
  username: root
  password:
  host: localhost
<% else %>
  adapter: mysql
  database: myapp_test
  username: root
  password:
  host: localhost
  #socket: /opt/local/var/run/mysql5/mysqld.sock
<% end %>

production_defaults: &production_defaults
<% if RUBY_PLATFORM =~ /java/ %>
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/rged_production
  database: myapp_production
  username: root
  password:
  host: localhost
<% else %>
  adapter: mysql
  database: myapp_production
  username: root
  password:
  host: localhost
  #socket: /opt/local/var/run/mysql5/mysqld.sock
<% end %>

sqlite_db: &sqlite_db
  adapter: sqlite3  
  timeout: 5000

oracle_db: &oracle_db
  adapter: oracle
  database: 60200
  
ora_dms: &ora_dms
  <<: *oracle_db
  username: dms
  password: practice
  
development:
  <<: *development_defaults

test:
  <<: *sqlite_db
  database: db/dms_test.db

production:
  <<: *ora_dms 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值