Files
aperonight/db/migrate/20250823145902_create_events.rb
kbe 1889ee7fb2 feat: replace Stripe Global Payouts with manual bank transfer system for France compliance
- Replace Stripe automatic payouts with manual admin-processed bank transfers
- Add banking information fields (IBAN, bank name, account holder) to User model
- Implement manual payout workflow: pending → approved → processing → completed
- Add comprehensive admin interface for payout review and processing
- Update Payout model with manual processing fields and workflow methods
- Add transfer reference tracking and rejection/failure handling
- Consolidate all migration fragments into clean "create" migrations
- Add comprehensive documentation for manual payout workflow
- Fix Event payout_status enum definition and database column issues

This addresses France's lack of Stripe Global Payouts support by implementing
a complete manual bank transfer workflow while maintaining audit trails and
proper admin controls.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 11:55:07 +02:00

38 lines
1.2 KiB
Ruby
Executable File

class CreateEvents < ActiveRecord::Migration[8.0]
def change
create_table :events do |t|
t.string :name, null: false
t.string :slug, null: false
t.string :image, null: true
t.text :description, null: false
t.integer :state, default: 0, null: false
t.string :venue_name, null: false
t.string :venue_address, null: false
t.datetime :start_time
t.datetime :end_time
# Latitude and longitude of the place
t.decimal :latitude, precision: 10, scale: 6, null: false
t.decimal :longitude, precision: 10, scale: 6, null: false
# Only admin or later premium promoters could select this
t.boolean :featured, default: false, null: false
t.references :user, null: false, foreign_key: false
# Allow ticket sell during the event
t.boolean :allow_booking_during_event, default: false, null: false
# Payout fields
t.integer :payout_status, default: 0, null: false
t.datetime :payout_requested_at
t.timestamps
end
add_index :events, :state
add_index :events, :featured
add_index :events, [ :latitude, :longitude ]
add_index :events, :payout_status
end
end