Quand j'ajoute à mon fichier de migration, il casse un test rspec:Ajout de l'époque de pauses add_index itérateur
migration:
add_index :SurveyResponses, [:ID, :QuestionID, :AnswerID, :LastEditedTimestamp ], unique: true, name: 'short_sr'
Test rspec:
5.times do |index|
@org.survey_responses << create(:survey_response)
end
Lorsque la add_index est commenté cependant, il ne casse pas. Lorsque je suis à l'intérieur d'un levier et que je viens d'entrer @org.survey_responses << create(:survey_response)
, il ne se casse pas non plus. Il ne casse que lorsque j'utilise l'itérateur 5.times.
Message d'erreur:
ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry '18001-EML_Organization_ProductSurvey-InstitutionProvidesLayPension' for key 'short_sr': UPDATE `SurveyResponses` SET `BlahOID` = 18001, `OrganizationOID` = 18001 WHERE `SurveyResponses`.`ResponseID` = 33014
Note: J'ai changé les noms, mais ne vous inquiétez pas les
Quelle est l'erreur que vous obtenez? – Mohanraj
Son une erreur d'entrée en double MySQL '' 'ActiveRecord :: RecordNotUnique: mysql2 :: Erreur: entrée en double '18001-EML_Organization_ProductSurvey-InstitutionProvidesLayPension' pour la touche 'short_sr': UPDATE' 'SET SurveyResponses' BlahOID' = 18001,' OrganizationOID' = 18001 OERE 'SurveyResponses'.'ResponseID' = 33014''' Je suppose que je dois séquencer la colonne 'short_sr' comment? – minlingzhao