- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个名为“奖品”的专栏:
create_table :contests do |t|
t.text :prize
我最近意识到这将始终是一个整数,我想设置一个默认值:
def change
change_column :contests, :prize, :integer, :default => 200
这在我使用 MySQL DB 的本地计算机上运行良好。但是,当我推送到我的生产站点(托管在 Heroku 上,它给了我一个 Postgres 数据库)时,我收到以下错误:
PGError: ERROR: column "prize" cannot be cast to type "pg_catalog.int4"
: ALTER TABLE "contests" ALTER COLUMN "prize" TYPE integer
在本文中:http://www.postgresonline.com/periodical.php?i_id=3他们讨论了使用 USING 来解决这个问题。但我不知道我该怎么做,也不知道这是否适合我正在尝试做的事情。
如果您有任何关于解决这个问题的见解,我们将不胜感激。
谢谢!林戈
最佳答案
首先,您应该在两个环境中使用相同的数据库,以防止出现此类意外情况。
要在迁移中运行原始 sql,请参阅此示例 http://guides.rubyonrails.org/migrations.html#using-the-up-down-methods
关于mysql - RoR : Cannot change_column in postgres, 在 MySQL 中正常(用于开发的 MySQL,Heroku 上的 Postgres),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11276855/
我正在尝试使其某些列不能为空。我使用 change_column 没有问题,但其中一些列附加了一个索引,表明它是唯一的。 但是当我运行此迁移时: change_column :users, :user
我刚刚迁移了我的 create_supplier 迁移,然后我意识到我的一个数据类型是错误的,所以我添加了另一个迁移,如下所示:- class ChangePhoneToStringInSupplie
我必须重命名表a 的列中的一列并更改其数据类型。我目前正在做以下事情: class RenameIdFromA 50 end end 有没有办法一次性完成?类似的东西 rename_an
是 change_column在 Rails 4 及更高版本的迁移中使用时能够回滚的方法? 下面是一个例子: def change change_column etc end 我应该使用 up和
我将 RoR5 与 PostgreSQL 结合使用。我有一个包含一列的表 status .这是一个整数类型,包含三个值 0、1、2。这些值代表三种状态 allowed , not_allowed和 n
我需要让 hstore 在 Rails 迁移中工作。我已经通过迁移启用了 hstore,现在,我正在尝试生成正确的 sql 以使其正常工作,但是当我运行 db:migrate 时出现此错误; C:\S
我有一个名为“奖品”的专栏: create_table :contests do |t| t.text :prize 我最近意识到这将始终是一个整数,我想设置一个默认值: def change
我是一名优秀的程序员,十分优秀!