sql >> Databáze >  >> RDS >> Mysql

Rails ověřující selhání jedinečnosti na souběžných vstupech

To je velmi neobvyklé a pravděpodobně máte smůlu, že ano, je to možné.

Přečtěte si:https://github.com/rails/rails/blob/master/activerecord/lib/active_record/validations/uniqueness.rb#L165

Zvažte následující:Uživatel A odešle formulář

  • Uživatel A odešle formulář
  • Rails zkontroluje databázi pro existující ID pro uživatele A – nebylo nalezeno
  • Uživatel B odešle formulář
  • Rails zkontroluje databázi stávajícího ID pro uživatele B – nebylo nalezeno
  • Rails Uloží záznam uživatele A
  • Rails ukládá záznam uživatele B

To vše se musí stát během milisekund, ale je to technicky možné.

Navrhoval bych přidat omezení na úrovni databáze (primární klíč).



  1. Seřadit výběr řádku podle více sloupců

  2. Jaké jsou výhody a nevýhody ponechání SQL v uložených procesech versus kód

  3. Připojení SAS JMP k Salesforce.com

  4. PHP datum('W') vs MySQL YEARWEEK(nyní())