为什么我的Rails 4 / Postgres中的所有表都是以“维度”为1创建的?

时间:2014-02-19 01:09:38

标签: ruby-on-rails postgresql ruby-on-rails-4 rails-postgresql

我在使用Postgres尝试在Rails 4中进行基本模型生成和迁移时遇到了很多问题。我安装了pg gem,版本0.17.1

一开始,我甚至无法无错误地运行迁移,因为schema_migrations表是使用version列创建的,其维度为1。一旦我手动将其更改为零,它就可以正常工作。

现在,如果我查看由于使用Rails模型生成器而导致的所有迁移,我会看到 每一列 ,但{每个表格中的{1}}列都是使用id dimension创建的。

我需要更改一些默认设置吗?这是不正确的,我搞乱别的东西?这是我的第一个Rails 4项目,所以我只是想弄清楚为什么它会希望所有这些列都默认为一个数组。

以下是我的一个迁移文件:

1

这是来自class CreateCatalogs < ActiveRecord::Migration def change create_table :catalogs do |t| t.string :name t.text :description t.string :schema_name t.string :catalog_type t.boolean :billable t.timestamps end end end

schema.rb

哎呀!

2 个答案:

答案 0 :(得分:1)

幸运的是,Ruby on Rails v4.0.3今天发布了 。我做了以下事情:

  1. 升级Rails
  2. 已删除db/migrate/schema.rb
  3. 删除所有3个数据库(开发,测试,制作)
  4. rake db:setup
  5. rake db:migrate
  6. 查看新db/migrate/schema.rb以确保其正常
  7. rake db:test:prepare
  8. 果然,这个问题在这个新版本中得到了解决。我无法在任何地方找到问题的记录!几个星期以来一直是个问题。无论如何,修好了!

答案 1 :(得分:0)

可能是您的迁移将每列指定为数组