Ruby on rails 如何选择属性的第一个字符并在多行上插入同一表中同一记录的其他列
我有一个巨大的用户表,包含将近一百万条记录,我需要迭代每个用户,在Ruby on rails 如何选择属性的第一个字符并在多行上插入同一表中同一记录的其他列,ruby-on-rails,postgresql,Ruby On Rails,Postgresql,我有一个巨大的用户表,包含将近一百万条记录,我需要迭代每个用户,在first\u name中获取字符串的第一个字符,并将该字符插入同一用户表上该记录的first\u initial。我不希望通过Rails来迭代,因为实例化对象等需要几个小时,所以我想知道是否有人有好的方法来完成这项工作,或者使用Rails的update\u all,或者将其严格保存在psql中 这将输出字符,但我无法将它们插入相应的初始列: SELECT SUBSTRING(first_name, 1, 1) FROM user
first\u name
中获取字符串的第一个字符,并将该字符插入同一用户表上该记录的first\u initial
。我不希望通过Rails来迭代,因为实例化对象等需要几个小时,所以我想知道是否有人有好的方法来完成这项工作,或者使用Rails的update\u all
,或者将其严格保存在psql中
这将输出字符,但我无法将它们插入相应的初始列:
SELECT SUBSTRING(first_name, 1, 1) FROM users;
任何帮助都将不胜感激。这将满足您的需要,您可以将其放入迁移或从控制台运行
User.update_all("first_initial = SUBSTRING(first_name, 1, 1)")
完美的我离你很近,但到目前为止,谢谢你的帮助。