sql >> Database teknologi >  >> RDS >> PostgreSQL

Skinner ruller ikke transaktion tilbage efter mislykket lagring()

Tilføjelse af et element til samlingen gemmer det med det samme (medmindre brugeren ikke er gemt). Kaldet til at gemme opretter sin egen transaktion, og det er det, der rulles tilbage, ikke transaktionen, hvor elementet er gemt

Du kan tvinge alt til den samme transaktion ved at oprette en eksplicit.

begin
  User.transaction do
    @user.items << item
    @user.save!
    render :json => {}, :status => :ok
  end
rescue ActiveRecord::RecordInvalid
  render :json => {:status => :error, :errors => item.errors}, :status => :bad_request
end


  1. Hvordan viser man en standardværdi, når der ikke findes noget match i en forespørgsel?

  2. Hvordan vælger man data, hvor et felt har en min værdi i MySQL?

  3. Kan ikke oprette Eclipse Data Source til Oracle 12c ved hjælp af 12c jar. Men 11g virker

  4. PARTITION BY virker ikke i H2 db