0

問題を引き起こしていると思われるブールフィールドがあります。を実行するheroku run rake db:resetと、結果として次のようになります。

rake aborted!
PGError: ERROR:  syntax error at or near "("
LINE 1: ...her_email" character varying(255), "admin" boolean(255) DEFA...
                                                             ^
: CREATE TABLE "users" ("id" serial primary key, "name" character varying(255), "email" character varying(255), "other_email" character varying(255), "admin" boolean(255) DEFAULT 'f', "password_digest" character varying(255), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "auth_token" character varying(255), "password_reset_token" character varying(255), "password_reset_sent_at" timestamp, "plant_id" integer, "invoice" boolean)

問題の移行は次のとおりです。

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :name
      t.string :email
      t.string :other_email
      t.boolean :admin, :default => false, :null => false
      t.string :password_digest

      t.timestamps
    end
  end
end

フィールド長がブール フィールドに追加される理由がわかりません。この動作を無効にする方法はありますか?

4

1 に答える 1

1

schema.rbファイルを確認してください。

t.boolean  "admin", :limit => 255

移行を作成できます

change_column :users, :admin, :boolean, :limit => nil

移行に追加:limit => nilすることもできると思います。また、開発環境で実行し、本番環境ではなく新しいコミットを行うcreate_table必要がある場合もあります。rake db:migrateschema.rb:limit

于 2012-07-28T08:55:24.083 に答える