ทุกชิ้นงาน(ของออฟฟิศ)ที่ผมทำบน rails อยู่ทุกวันนี้ host ด้วย vps ครับ แล้วตอนติดตั้ง ก็ขี้เกียจติดตั้งชุดแปล php ด้วย ผมเลยอยากได้อะไรเหมือน phpmyadmin ครับ
ทางเลือกแรก ต้องใช้ edge rails
มีตัวช่วยใหม่ ชื่อว่า dbconsole แต่ก็ยังเป็น command line แค่มัน remote ให้ แค่นั้นเอง
ทางเลือกที่สองก็คือ RailsDB
ทางเลือกที่สาม เอ่อ.. ช่วย comment บอกที
ย้อนกลับมาที่ RailsDB ครับ น่าจะใช้แทน phpmyadmin ได้มากที่สุด คืนนี้ ผมก็เลยลองซะ ผลที่ได้คือ error!!(เป็นปกติ)
มันพังเพราะ default config มันผิด ตอนต่อ db หน้าตาประมาณนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | def switch_db( database ) case database.driver.name when 'sqlite3' ActiveRecord::Base.establish_connection( :adapter => 'sqlite3', :database => database.path ) when 'mysql' ActiveRecord::Base.establish_connection( :adapter => 'mysql', :database => database.name, :host => database.host, :username => database.username, :password => database.password ) when 'postgresql' ActiveRecord::Base.establish_connection( :adapter => 'postgresql', :database => database.name, :host => database.host, :username => database.username, :password => database.password ) end end |
code ชุดนี้ อยู่ที่ app/models/switch.rb ครับ
สังเกตได้ว่า มันไม่มี port หรือ socket ให้กรอกครับ ค่า default ของ mysql ใน activerecord เองก็กำหนดไว้ว่า port เป็น 3306 และ socket เป็น /tmp/mysql.sock
วิธีซ่อมก็ง่ายๆ ครับ ใส่่ port หรือ socket ที่ถูกต้องเข้าไป
ประชาสัมพันธ์หน่อยครับ
มีงาน train (J)Ruby on Rails ของ narisa นะครับ ใครสนใจก็ตาม link ข้างล่างเลย
วันจัด train เรื่อง (J)Ruby On Rails ครับ - Narisa.com