Skip to content

Commit

Permalink
Revert to autoinc ids from uuids (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
bedrock-adam authored Mar 10, 2024
1 parent 6d359c1 commit ac44084
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 22 deletions.
7 changes: 2 additions & 5 deletions db/migrate/create_outboxer_exceptions.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
class CreateOutboxerExceptions < ActiveRecord::Migration[6.1]
def up
ActiveRecord::Base.transaction do
create_table :outboxer_exceptions, id: false do |t|
t.uuid :id, primary_key: true

t.references :message, null: false,
type: :uuid, foreign_key: { to_table: :outboxer_messages }
create_table :outboxer_exceptions do |t|
t.references :message, null: false, foreign_key: { to_table: :outboxer_messages }

t.text :class_name, null: false
t.text :message_text, null: false
Expand Down
7 changes: 2 additions & 5 deletions db/migrate/create_outboxer_frames.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
class CreateOutboxerFrames < ActiveRecord::Migration[6.1]
def up
create_table :outboxer_frames, id: false do |t|
t.uuid :id, primary_key: true

t.references :exception,
null: false, type: :uuid, foreign_key: { to_table: :outboxer_exceptions }
create_table :outboxer_frames do |t|
t.references :exception, null: false, foreign_key: { to_table: :outboxer_exceptions }

t.integer :index, null: false
t.text :text, null: false
Expand Down
3 changes: 1 addition & 2 deletions db/migrate/create_outboxer_messages.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
class CreateOutboxerMessages < ActiveRecord::Migration[6.1]
def up
create_table :outboxer_messages, id: false do |t|
t.uuid :id, primary_key: true
create_table :outboxer_messages do |t|
t.string :status, null: false, limit: 255

t.text :messageable_id, null: false
Expand Down
7 changes: 0 additions & 7 deletions db/seeds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,33 @@
case i % 3
when 0
Outboxer::Models::Message.create!(
id: SecureRandom.uuid,
messageable_type: 'Event',
messageable_id: i,
status: Outboxer::Models::Message::Status::UNPUBLISHED)
when 1
Outboxer::Models::Message.create!(
id: SecureRandom.uuid,
messageable_type: 'Event',
messageable_id: i,
status: Outboxer::Models::Message::Status::PUBLISHING)
else
failed_message = Outboxer::Models::Message.create!(
id: SecureRandom.uuid,
messageable_type: 'Event',
messageable_id: i,
status: Outboxer::Models::Message::Status::FAILED)

failed_message_exception = failed_message.exceptions.create!(
id: SecureRandom.uuid,
class_name: 'ActiveRecord::RecordInvalid',
message_text: 'Validation failed: Exceptions is invalid')

failed_message_exception.frames.create!(
id: SecureRandom.uuid,
index: 0,
text: "/lib/active_record/validations.rb:84:in `raise_validation_error'")

failed_message_exception.frames.create!(
id: SecureRandom.uuid,
index: 1,
text: "/lib/active_record/validations.rb:55:in `save!'")

failed_message_exception.frames.create!(
id: SecureRandom.uuid,
index: 2,
text: "lib/active_record/transactions.rb:313:in `block in save!'")
end
Expand Down
4 changes: 2 additions & 2 deletions lib/outboxer/message.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ def failed!(id:, exception:)
outboxer_message.update!(status: Models::Message::Status::FAILED)

outboxer_exception = outboxer_message.exceptions.create!(
id: SecureRandom.uuid, class_name: exception.class.name, message_text: exception.message)
class_name: exception.class.name, message_text: exception.message)

exception.backtrace.each_with_index do |frame, index|
outboxer_exception.frames.create!(id: SecureRandom.uuid, index: index, text: frame)
outboxer_exception.frames.create!(index: index, text: frame)
end

outboxer_message
Expand Down
1 change: 0 additions & 1 deletion spec/factories/outboxer_messages.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
FactoryBot.define do
factory :outboxer_message, class: 'Outboxer::Models::Message' do
id { SecureRandom.uuid }
messageable_type { 'DummyType' }
messageable_id { 1 }
status { Outboxer::Models::Message::Status::PUBLISHING }
Expand Down

0 comments on commit ac44084

Please sign in to comment.