从JSON变量

时间:2017-04-28 20:51:22

标签: ruby-on-rails json postgresql activerecord

是否可以如何从JSON变量生成Rails架构?

我希望从这样的JSON变量:

{
"employees":[
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]
}

拥有一个名为Employee的模型,包含2个fiels:firstNamelastName

1 个答案:

答案 0 :(得分:0)

您不会在关系数据库中动态生成架构。即使它可以绕过并解析JSON并使用它来创建SQL语句,如:

CREATE TABLE 'employees' ...

它不是构建Web应用程序的智能方法。它产生了大量潜在的安全问题,并且没有理智或可维护。

它违反了您应该使用ActiveRecord的整个方式 - 将迁移构建到适用于问题域的模型。

如果要使用任意模式在Postgres中存储数据,请使用JSON类型列。

create_table :employees do |t|
  t.json 'data'
end

这将允许您在employees.data中存储您想要的任何内容。