SORU
3 Kasım 2009, Salı


Sqlite Ruby on Rails uygulaması MySQL dönüştürmek?

Ruby on Rails bir uygulama yaptım ve not almak istiyorum. Ancak, MySQL kullandığım gerektiren ve sqLite3 kullanarak ayarladım. MySQL kullanmak için dönüştürmek için herhangi bir yolu var mı?

CEVAP
4 Kasım 2009, ÇARŞAMBA


Adım 0

Güvenli olması için, sanal makine bu teknik ile biraz deneme tavsiye ederim. Kendinizi gönül yarası bir sürü kaydetmek ve bir sanal makine oluşturmak, kodunuzu kontrol edin ve eğer felaket olursa atabileceğin güvenli bir oyun alanı var.

Adım 1

Veritabanınızın yedek kopyasını yapın.dosya yml.

(uygulama root)

cp config/database.yml config.database.yml.sqlite3

Adım 2

Verilerinizin bir yedek kopyasını yapın

3, YAML DB gem install Rails için: https://github.com/ludicast/yaml_db

2 Raylar.x YAML DB eklenti kurulumu:

script/plugin install git://github.com/adamwiggins/yaml_db.git

Dökümü görevi çalıştırın

rake db:dump

Adım 3

Senin config/veritabanı güncelleme.dosya yml. Girişleri gibi bulacaksınız

development:
  adapter: sqlite3
  database: db/development.sqlite3
  timeout: 5000
test:
  adapter: sqlite3
  database: db/test.sqlite3
  timeout: 5000
production:
  adapter: sqlite3
  database: db/production.sqlite3
  timeout: 5000

Onları değiştirmek

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: **myapp_development**
  pool: 5
  username: **root**
  password: **supersecretpassword**
  **socket: /opt/local/var/run/mysql5/mysqld.sock**
test:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: **myapp_test**
  pool: 5
  username: **root**
  password: **supersecretpassword**
  socket: **/opt/local/var/run/mysql5/mysqld.sock**

production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: **myapp_production**
  pool: 5
  username: **root**
  password: **supersecretpassword**
  socket: **/opt/local/var/run/mysql5/mysqld.sock**

Platformunuz için uygun olarak değerleri asterix çevrili güncellemek için emin olun! Soket değeri Mac OS MacPorts kullanarak için iyi. Linux'un en tatlar bu değer gerektirmez.

Adım 5

Eğer bir sonraki adımda bazı hatalar varsa, mysql gem yüklemeniz gerekebilir:

sudo gem install mysql

Komisyon veritabanı oluşturmak zorunda

rake db:create
rake db:schema:load

Adım 6

YamlDb MySql içine verileri yeniden yüklemek için kullanın

rake db:load

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Emotional Trancer

    Emotional Tr

    4 Mart 2010
  • expertvillage

    expertvillag

    5 NİSAN 2006
  • Titan Lee Hai

    Titan Lee Ha

    14 Temmuz 2008