如何正确重命名其表在PostgreSQL中分区的Rails模型的属性

时间:2018-03-15 21:45:11

标签: ruby-on-rails-5 postgresql-9.6

在我的公司,我们希望重命名我们的主要模型之一,以消除概念的模糊性。对于大多数相关模型,这个过程很简单,但我们有一个存储我们的日志,并且由于它的大小,它在PostgreSQL中进行了分区。以下迁移很可能不会在生产中工作,即使它确实如此,它也是一个不完整的解决方案:

public function rules()
{
    return [
        [['ingredients'], 'required'],
        ['ingredients', 'checkIsArray']
    ];
}
public function checkIsArray($attribute, $params)
{
    if (empty($this->ingredients)) {
        $this->addError($attribute, "config cannot be empty");
    }
    elseif (count($this->ingredients)>5) {
        $this->addError($attribute, "Choose more");
    }
    elseif (count($params)<2) {
        $this->addError($attribute, "Choose less");
    }
}

有人知道如何解决这种情况吗?

1 个答案:

答案 0 :(得分:0)

您可以完全在迁移或任务上编写原始SQL来解决问题,或者只使用已经针对此问题实现的内容。你知道......不要重新发明轮子。您可以使用pgslice

之类的内容