restricción - sql restricciones
¿Cómo puedo eliminar una restricción única de una columna de base de datos en Rails? (2)
Creé una tabla usando la siguiente migración:
class CreateProfilePictures < ActiveRecord::Migration
def change
create_table :profile_pictures do |t|
t.integer :user_id, null: false
t.integer :picture_id, null: false
t.timestamps null: false
end
add_index :profile_pictures, :user_id, unique: true
add_index :profile_pictures, :picture_id, unique: true
end
end
Intenté eliminar la restricción con lo siguiente:
class FixProfilePic < ActiveRecord::Migration
def change
change_column :profile_pictures, :picture_id, :integer, unique: false
end
end
Todavía obtengo un error único de violación de restricción si trato de usar el mismo picture_id en más de un lugar. ¿Cuál es la forma correcta de eliminar la restricción de unicidad de picture_id?
add_index: profile_pictures,: picture_id, unique: true
Así que actualiza tu índice a:
remove_index :profile_pictures, :picture_id
add_index :profile_pictures, :picture_id
Supongo que esto es todo.
Debes eliminar tu índice con:
remove_index :profile_pictures, :picture_id
y agregarlo de nuevo con:
add_index :profile_pictures, :picture_id