在 Rails 中,我创建了一个名为 open_time 的字符串列,但后来我意识到我应该使用 datetime 类型。我做了
change_column :polls, :open_time, :datetime
但它说:
PG::Error: ERROR: column "open_time" cannot be cast to type timestamp without time zone
: ALTER TABLE "polls" ALTER COLUMN "open_time" TYPE timestamp
如果我只是删除字符串列并添加新的日期时间列,我将丢失存储在字符串列中的数据。或者,在 PostgreSQL 中我添加列:
ALTER TABLE polls ADD COLUMN published_time timestamp;
然后我尝试从字符串列中获取数据,例如:
UPDATE polls SET published_time = strToTimeStamp(open_time);
所以我的问题是我可以使用任何函数strToTimeStamp
来将字符变化类型转换为没有时区类型的时间戳?