我有一个小表,某个字段包含" 字符变化 " 类型.我正在尝试将其更改为" 整数 ",但它给出了一个错误,即无法进行转换.
有没有办法绕过这个或者我应该创建另一个表并使用查询将记录带入其中.
该字段仅包含整数值.
我在rails应用程序中使用rails generate migrations命令创建了一个表.这是迁移文件:
class CreateListings < ActiveRecord::Migration
def change
create_table :listings do |t|
t.string :name
t.string :telephone
t.string :latitude
t.string :longitude
t.timestamps
end
end
end
Run Code Online (Sandbox Code Playgroud)
然后我想将纬度和经度存储为整数,所以我试图运行:
rails generate migration changeColumnType
Run Code Online (Sandbox Code Playgroud)
并且该文件的内容是:
class ChangeColumnType < ActiveRecord::Migration
def up
#change latitude columntype from string to integertype
change_column :listings, :latitude, :integer
change_column :listings, :longitude, :integer
#change longitude columntype from string to integer type
end
def down
end
end
Run Code Online (Sandbox Code Playgroud)
我期待列类型改变但是rake被中止并且出现以下错误消息.我想知道为什么这不通过?我在我的应用程序中使用postgresql.
rake db:migrate
== ChangeColumnType: migrating ===============================================
-- change_column(:listings, :latitude, :integer)
rake aborted!
An error …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行以下向上迁移以更改"tweet"模型表中的"number"列
class ChangeDataTypeForTweetsNumber < ActiveRecord::Migration
def up
change_column :tweets do |t|
t.change :number, :integer
end
end
def down
change_table :tweets do |t|
t.change :number, :string
end
end
end
Run Code Online (Sandbox Code Playgroud)
执行以下向上迁移到heroku ....
heroku rake db:migrate:up VERSION=20120925211232
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
PG::Error: ERROR: column "number" cannot be cast to type integer
: ALTER TABLE "tweets" ALTER COLUMN "number" TYPE integer
Run Code Online (Sandbox Code Playgroud)
任何想法都会非常感激.
感谢大家.
我在数据库中有日期和时间字段.我希望通过连接日期和时间来获得时间戳.如何在PostgreSQL中执行此操作?
我这样做了:
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2011-05-17 10:40:28');
Run Code Online (Sandbox Code Playgroud)
它工作正常.
但是当我尝试替换日期和时间字段时,我收到以下错误:
SELECT EXTRACT(EPOCH FROM TIMESTAMP Day || ' ' || Time);
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)ERROR: syntax error at or near "Day" LINE 1: ...quest_count > 0 AND (EXTRACT(EPOCH FROM TIMESTAMP Day || ' ' || Time)) > (e...