migration problem

26 views
Skip to first unread message

roelof

unread,
Nov 13, 2012, 1:08:13 PM11/13/12
to rubyonra...@googlegroups.com
Hello,

I want to use username so I can log in with username.
So I made this migration file :

class AddDeviseToUsers < ActiveRecord::Migration
  def self.up
    change_table(:users) do |t|
      ## Database authenticatable
      t.string :username,            :null => false, :default => ""
      t.string :encrypted_password, :null => false, :default => ""

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      t.integer  :sign_in_count, :default => 0
      t.datetime :current_sign_in_at
      t.datetime :last_sign_in_at
      t.string   :current_sign_in_ip
      t.string   :last_sign_in_ip

      ## Confirmable
      # t.string   :confirmation_token
      # t.datetime :confirmed_at
      # t.datetime :confirmation_sent_at
      # t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at

      ## Token authenticatable
      # t.string :authentication_token


      # Uncomment below if timestamps were not included in your original model.
      # t.timestamps
    end

    add_index :users, :email
    add_index :users, :username,             :unique => true
    add_index :users, :reset_password_token, :unique => true
    add_index :users, :confirmation_token,   :unique => true
    add_index :users, :unlock_token,         :unique => true
    add_index :users, :authentication_token, :unique => true
  end

  def self.down
    # By default, we don't want to make any assumption about how to roll back a migration when your
    # model already existed. Please edit below which fields you would like to remove in this migration.
    raise ActiveRecord::IrreversibleMigration
  end
end


But now I get this error message :  SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "username" varchar(255) DEFAULT '' NOT NULL

Anyone a idea how to solve this ?
This is a clean install.

Roelof

Carlos Mathiasen

unread,
Nov 13, 2012, 1:18:16 PM11/13/12
to rubyonra...@googlegroups.com
you need create_table meathod instead change_table.

Matt's




Roelof

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonra...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/xpJZWxxT_9IJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Colin Law

unread,
Nov 13, 2012, 3:33:55 PM11/13/12
to rubyonra...@googlegroups.com
On 13 November 2012 18:18, Carlos Mathiasen <gunma...@gmail.com> wrote:
> you need create_table meathod instead change_table.

And since the users table does not already exist you should uncomment
the t.timestamps line.

Colin
Reply all
Reply to author
Forward
0 new messages