我可以使用 Rails 迁移编辑数据库中的字段吗?
我有一个链接数据库,所有链接都指向特定站点,但该站点上有不同的页面。那么该网站的域名已更改,我需要更新我的数据库以反映该更改。我只需要更改域名,其余链接就可以正常工作。
我的问题是,我可以使用 Rails 迁移来做到这一点吗?要编辑列中的所有字段并更新它们?这会是什么样子?
我知道还有其他方法可以解决这个问题,但我想探索 Rails 迁移的选项。
提前致谢!
I have a database of links that all point to a specific site, but different pages on that site. Well the site's domain changed and I need to update my database to reflect that change. I only need to change the domain name, the rest of the link works fine.
My question is, can I use a rails migration to do this? To edit all fields in a column and update them? What would this look like?
I know there are other ways to approach it, but I want to explore the options I would have with a rails migration.
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然,你有两个选择。 1) 您可以在迁移中编写 ActiveRecord 代码,就像在模型中一样,例如:
在这种情况下要记住的一件事是,如果您在
update_all
您需要在更改表之后、调用 ActiveRecord 方法之前执行YourModel.reset_column_information
。2) 您可以通过“execute”方法使用原始SQL:
我个人更喜欢第一种方法。
Sure, you have two options. 1) You can write ActiveRecord code in migrations just like you would in a model, e.g.:
One thing to remember in this scenario is that if you're changing e.g. column names or types in the same migration before
update_all
you need to doYourModel.reset_column_information
after altering the table and before calling ActiveRecord methods on it.2) You can use raw SQL with the "execute" method:
Personally I prefer the first method.