fix sql uniqueness not working

turns out :unique is actually not an option, see
http://apidock.com/rails/v4.2.1/ActiveRecord/ConnectionAdapters/TableDefinition/column

weird enough this never caused trouble
This commit is contained in:
jomo
2015-08-26 01:32:08 +02:00
parent 3c0173f7c4
commit 20d31494dc
5 changed files with 37 additions and 12 deletions

View File

@@ -1,18 +1,18 @@
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :uuid, unique: true, null: false
t.string :name, unique: true, null: false
t.string :uuid, null: false
t.string :name, null: false
t.string :password_digest, null: false
t.string :ign, unique: true, null: false
t.string :email, unique: true, null: false
t.string :ign, null: false
t.string :email, null: false
t.text :about
t.string :last_ip
t.string :skype, unique: true
t.string :skype
t.boolean :skype_public, default: false
t.string :youtube, unique: true
t.string :youtube
t.string :youtube_channelname
t.string :twitter, unique: true
t.string :twitter
t.boolean :donor, default: false
t.string :email_token
t.boolean :confirmed, default: false

View File

@@ -1,9 +1,9 @@
class CreateRegisterTokens < ActiveRecord::Migration
def change
create_table :register_tokens do |t|
t.string :uuid, limit: 32, unique: true, primary: true, null: false
t.string :uuid, limit: 32, primary: true, null: false
t.string :token, limit: 6, null: false
t.string :email, unique: true, null: false
t.string :email, null: false
end
end
end

View File

@@ -0,0 +1,14 @@
class FixUniqueness < ActiveRecord::Migration
def change
add_index :users, :uuid, unique: true
add_index :users, :name, unique: true
add_index :users, :ign, unique: true
add_index :users, :email, unique: true
add_index :users, :skype, unique: true
add_index :users, :youtube, unique: true
add_index :users, :twitter, unique: true
add_index :register_tokens, :uuid, unique: :true
add_index :register_tokens, :email, unique: :true
end
end

View File

@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150423221613) do
ActiveRecord::Schema.define(version: 20150825232749) do
create_table "blogposts", force: true do |t|
t.string "title"
@@ -82,6 +82,9 @@ ActiveRecord::Schema.define(version: 20150423221613) do
t.string "email", null: false
end
add_index "register_tokens", ["email"], name: "index_register_tokens_on_email", unique: true, using: :btree
add_index "register_tokens", ["uuid"], name: "index_register_tokens_on_uuid", unique: true, using: :btree
create_table "roles", force: true do |t|
t.string "name"
t.integer "value"
@@ -134,4 +137,12 @@ ActiveRecord::Schema.define(version: 20150423221613) do
t.boolean "mail_mention", default: true
end
add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
add_index "users", ["ign"], name: "index_users_on_ign", unique: true, using: :btree
add_index "users", ["name"], name: "index_users_on_name", unique: true, using: :btree
add_index "users", ["skype"], name: "index_users_on_skype", unique: true, using: :btree
add_index "users", ["twitter"], name: "index_users_on_twitter", unique: true, using: :btree
add_index "users", ["uuid"], name: "index_users_on_uuid", unique: true, using: :btree
add_index "users", ["youtube"], name: "index_users_on_youtube", unique: true, using: :btree
end

View File

@@ -32,9 +32,9 @@ deleted_user = User.create!(
deleted_user.update_attribute(:ign, "Steve")
User.create!(
uuid: "9ff3d74f716940a3aa6f262ab632d2",
uuid: "ae795aa86327408e92ab25c8a59f3ba1",
ign: "jomo",
email: "theredstonesheep@gmail.com",
email: "jomo@example.com",
password: "123456789", # high seructity!
password_confirmation: "123456789",
role: Role.get(:superadmin)