有没有办法(除手动键入迁移外)在Rails中创建一个新表,其中列名是从另一个表的列值派生的?这将是一个宽表(约100列),所以我真的想避免手动这样做。
现有表格如下:
-----------
| nameCol |
-----------
| A |
| A |
| B |
| C |
-----------
我想创建另一个看起来像这样的表:
| pk | A | B | C |
目前正在使用sqlite。
答案 0 :(得分:0)
我会使用group_concat运行查询,如 -
select group_concat(distinct namecol) as namecols
from tbl
http://sqlfiddle.com/#!5/57f05/3/0
然后将结果导入Excel并将文本用于列:
使用逗号作为分隔符。
然后在第一列名称下面(在create table语句之间)编写一个公式,如下所示:
将公式复制到最后一列。从最后一个单元格中的公式中删除逗号,因为它是列表中的最后一列。将单元格从左向右复制,表示create table语句,并使用它来创建表。
示例excel文件,链接有效期为2天:
example.xlsx: http://shwivel.synology.me:5000/fbsharing/xE336ePi 截止日期:2014-08-04