对于我正在制作的应用,我需要将我的列类型从日期更改为日期时间.我不关心数据,因为它仍在开发中.
我怎样才能做到这一点?
在第一次迁移时,我在列content上声明为字符串Activerecord根据annotate gem将其设置为字符串(255).
在我将应用程序推送到使用postgres的heroku后,如果我在内容中输入一个长度超过255的字符串,我会得到错误
PGError: ERROR: value too long for type character varying(255)
Run Code Online (Sandbox Code Playgroud)
问题是我需要内容包含一个非常长的字符串(自由文本,可能是数千个字符)
谢谢
string postgresql ruby-on-rails ruby-on-rails-3.1 rails-activerecord
我试图在SQLite3表中插入一个错误的布尔值,但它总是插入一个真值.
这是我的迁移:
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.column :name, :string
t.column :active, :boolean, :default => false, :null => false
end
end
def self.down
drop_table :resources
end
end
Run Code Online (Sandbox Code Playgroud)
当我尝试使用rails插入时,它会生成以下SQL:
INSERT INTO "users" ("name", "active") VALUES ('test', 'f')
Run Code Online (Sandbox Code Playgroud)
SQLite将'f'视为true,因此它将true插入到我的数据库中.我想要它生成的查询是:
INSERT INTO "users" ("name", "active") VALUES ('test', false)
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
rails:3.0.7
sqlite3 gem:1.3.3