1

如果不需要遷移數據,我們似乎可以編輯database.yml對於Ruby on Rails,如何使用相同的DBMS或不同的DBMS切換到新的空DB?

development: 
    adapter: mysql 
    database: myapp_development 
    host: localhost 
    username: root 
    password: 
    encoding: utf8 

1)使用全新的數據庫與0的數據,只是改變了第3行:

database: myapp_development_02 

,然後做一個rake db:createrake db:migrate現在,我們有一個全新的數據庫零數據? 2)如果使用SQLite進行指定,我們可以將其更改爲MySQL的描述,並作爲本文的頂部部分,同時也執行rake db:createrake db:migrate,現在我們有一個全新的數據庫可以使用,並且是MySQL?

3)Rails 3有一個db/schema.rb。這可以用來代替rake db:migrate,如果有30個遷移文件,這將涉及30個遷移,但是如果使用schema.rb,那麼它可以一步到達數據庫模式?

4)我想我們可以創建其他development_02等,在database.yml文件,指向舊數據庫,或指向不同的數據庫管理系統,而只是確保我們與

rails ... -e development_02 ... 
    or 
rake ... RAILS_ENV=development_02 

運行?

回答

1
  1. 是。事實上,如果你有一個大的模式,這是首選的方式。
  2. 是的。但您需要添加config/environments/development_02.rb
+0

關於第4點的聲明:這是Rails 2.x風格。我不知道在Rails 3.0中是否改變了,但我不認爲它改變了。 – Faisal 2010-09-25 12:52:29