foodsoft/db/migrate/001_create_users.rb
2020-09-05 14:40:11 +02:00

36 lines
1.4 KiB
Ruby

class CreateUsers < ActiveRecord::Migration[4.2]
USER_ADMIN = 'admin'
USER_TEST = 'test'
def self.up
create_table :users do |t|
t.column :nick, :string, :null => false
t.column :password_hash, :string, :null => false
t.column :password_salt, :string, :null => false
t.column :first_name, :string, :null => false
t.column :last_name, :string, :null => false
t.column :email, :string, :null => false
t.column :phone, :string
t.column :address, :string
t.column :created_on, :timestamp, :null => false
end
add_index(:users, :nick, :unique => true)
add_index(:users, :email, :unique => true)
# Create the default admin user...
puts "Creating user #{USER_ADMIN} with password 'secret'..."
user = User.new(:nick => USER_ADMIN, :first_name => "Anton", :last_name => "Administrator", :email => "admin@foo.test")
user.password = "secret"
raise "Failed!" unless user.save && User.find_by_nick(USER_ADMIN).has_password("secret")
# Create a normal user...
puts "Creating user #{USER_TEST} with password 'foobar'..."
user = User.new(:nick => USER_TEST, :first_name => "Tim", :last_name => "Tester", :email => "test@foo.test")
user.password = "foobar"
raise "Failed!" unless user.save && User.find_by_nick(USER_TEST).has_password("foobar")
end
def self.down
drop_table :users
end
end