feat: Add promotion code functionality to ticket orders

This commit is contained in:
kbe
2025-09-28 20:20:22 +02:00
parent e5ed1a34dd
commit a69ddb4012
10 changed files with 258 additions and 22 deletions

View File

@@ -0,0 +1,16 @@
class CreatePromotionCodes < ActiveRecord::Migration[8.0]
def change
create_table :promotion_codes do |t|
t.string :code, null: false, unique: true
t.integer :discount_amount_cents, null: false, default: 0
t.datetime :expires_at
t.boolean :active, default: true, null: false
t.integer :usage_limit, default: nil
t.integer :uses_count, default: 0, null: false
t.datetime :created_at, null: false
t.datetime :updated_at, null: false
end
add_index :promotion_codes, :code, unique: true
end
end

View File

@@ -0,0 +1,10 @@
class CreateOrderPromotionCodes < ActiveRecord::Migration[8.0]
def change
create_table :order_promotion_codes do |t|
t.references :order, null: false, foreign_key: true
t.references :promotion_code, null: false, foreign_key: true
t.timestamps
end
end
end