使用Ruby mysql gem进行Mysql表格式化

时间:2013-06-16 03:19:22

标签: mysql ruby formatting

默认情况下,Mysql以mysql表格式打印表格结果

+----+----------+-------------+
| id | name     | is_override |
+----+----------+-------------+
|  1 | Combined |           0 |
|  2 | Standard |           0 |
+----+----------+-------------+

从unix shell调用mysql时,不会保留此表格式,但可以通过-t选项轻松地请求它

mysql -t my_schema < my_query_file.sql

使用Ruby时,我正在使用mysql gem返回结果。由于gem将数据作为哈希返回,因此没有选项来保留表格式。但是,有什么方法可以轻松打印具有该格式的哈希/数据?无需计算间距等?

db = Mysql.new(my_database, my_username, my_password, my_schema)
result = db.query("select * from my_table")
result.each_hash { |h|
   # Print row. Any way to print it with formatting here?
   puts h 
}