All checks were successful
		
		
	
	Check usage of free licenses / check-licenses (pull_request) Successful in 1m38s
				
			Add copyright notice / copyright_notice (pull_request) Successful in 3m16s
				
			Run unit tests / unit_tests (pull_request) Successful in 5m31s
				
			Build Nginx-based docker image / build-static-assets (pull_request) Successful in 41m31s
				
			
		
			
				
	
	
		
			135 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # Copyright (C) 2024-2025 LibreWeddingPlanner contributors
 | |
| 
 | |
| class SolidQueueInstall < ActiveRecord::Migration[7.2]
 | |
|   def change
 | |
|     create_table 'solid_queue_blocked_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.string 'queue_name', null: false
 | |
|       t.integer 'priority', default: 0, null: false
 | |
|       t.string 'concurrency_key', null: false
 | |
|       t.datetime 'expires_at', null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index %w[concurrency_key priority job_id], name: 'index_solid_queue_blocked_executions_for_release'
 | |
|       t.index %w[expires_at concurrency_key], name: 'index_solid_queue_blocked_executions_for_maintenance'
 | |
|       t.index ['job_id'], name: 'index_solid_queue_blocked_executions_on_job_id', unique: true
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_claimed_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.bigint 'process_id'
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['job_id'], name: 'index_solid_queue_claimed_executions_on_job_id', unique: true
 | |
|       t.index %w[process_id job_id], name: 'index_solid_queue_claimed_executions_on_process_id_and_job_id'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_failed_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.text 'error'
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['job_id'], name: 'index_solid_queue_failed_executions_on_job_id', unique: true
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_jobs', force: :cascade do |t|
 | |
|       t.string 'queue_name', null: false
 | |
|       t.string 'class_name', null: false
 | |
|       t.text 'arguments'
 | |
|       t.integer 'priority', default: 0, null: false
 | |
|       t.string 'active_job_id'
 | |
|       t.datetime 'scheduled_at'
 | |
|       t.datetime 'finished_at'
 | |
|       t.string 'concurrency_key'
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.datetime 'updated_at', null: false
 | |
|       t.index ['active_job_id'], name: 'index_solid_queue_jobs_on_active_job_id'
 | |
|       t.index ['class_name'], name: 'index_solid_queue_jobs_on_class_name'
 | |
|       t.index ['finished_at'], name: 'index_solid_queue_jobs_on_finished_at'
 | |
|       t.index %w[queue_name finished_at], name: 'index_solid_queue_jobs_for_filtering'
 | |
|       t.index %w[scheduled_at finished_at], name: 'index_solid_queue_jobs_for_alerting'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_pauses', force: :cascade do |t|
 | |
|       t.string 'queue_name', null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['queue_name'], name: 'index_solid_queue_pauses_on_queue_name', unique: true
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_processes', force: :cascade do |t|
 | |
|       t.string 'kind', null: false
 | |
|       t.datetime 'last_heartbeat_at', null: false
 | |
|       t.bigint 'supervisor_id'
 | |
|       t.integer 'pid', null: false
 | |
|       t.string 'hostname'
 | |
|       t.text 'metadata'
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.string 'name', null: false
 | |
|       t.index ['last_heartbeat_at'], name: 'index_solid_queue_processes_on_last_heartbeat_at'
 | |
|       t.index %w[name supervisor_id], name: 'index_solid_queue_processes_on_name_and_supervisor_id', unique: true
 | |
|       t.index ['supervisor_id'], name: 'index_solid_queue_processes_on_supervisor_id'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_ready_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.string 'queue_name', null: false
 | |
|       t.integer 'priority', default: 0, null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['job_id'], name: 'index_solid_queue_ready_executions_on_job_id', unique: true
 | |
|       t.index %w[priority job_id], name: 'index_solid_queue_poll_all'
 | |
|       t.index %w[queue_name priority job_id], name: 'index_solid_queue_poll_by_queue'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_recurring_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.string 'task_key', null: false
 | |
|       t.datetime 'run_at', null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['job_id'], name: 'index_solid_queue_recurring_executions_on_job_id', unique: true
 | |
|       t.index %w[task_key run_at], name: 'index_solid_queue_recurring_executions_on_task_key_and_run_at',
 | |
|                                    unique: true
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_recurring_tasks', force: :cascade do |t|
 | |
|       t.string 'key', null: false
 | |
|       t.string 'schedule', null: false
 | |
|       t.string 'command', limit: 2048
 | |
|       t.string 'class_name'
 | |
|       t.text 'arguments'
 | |
|       t.string 'queue_name'
 | |
|       t.integer 'priority', default: 0
 | |
|       t.boolean 'static', default: true, null: false
 | |
|       t.text 'description'
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.datetime 'updated_at', null: false
 | |
|       t.index ['key'], name: 'index_solid_queue_recurring_tasks_on_key', unique: true
 | |
|       t.index ['static'], name: 'index_solid_queue_recurring_tasks_on_static'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_scheduled_executions', force: :cascade do |t|
 | |
|       t.bigint 'job_id', null: false
 | |
|       t.string 'queue_name', null: false
 | |
|       t.integer 'priority', default: 0, null: false
 | |
|       t.datetime 'scheduled_at', null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.index ['job_id'], name: 'index_solid_queue_scheduled_executions_on_job_id', unique: true
 | |
|       t.index %w[scheduled_at priority job_id], name: 'index_solid_queue_dispatch_all'
 | |
|     end
 | |
| 
 | |
|     create_table 'solid_queue_semaphores', force: :cascade do |t|
 | |
|       t.string 'key', null: false
 | |
|       t.integer 'value', default: 1, null: false
 | |
|       t.datetime 'expires_at', null: false
 | |
|       t.datetime 'created_at', null: false
 | |
|       t.datetime 'updated_at', null: false
 | |
|       t.index ['expires_at'], name: 'index_solid_queue_semaphores_on_expires_at'
 | |
|       t.index %w[key value], name: 'index_solid_queue_semaphores_on_key_and_value'
 | |
|       t.index ['key'], name: 'index_solid_queue_semaphores_on_key', unique: true
 | |
|     end
 | |
| 
 | |
|     add_foreign_key 'solid_queue_blocked_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|     add_foreign_key 'solid_queue_claimed_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|     add_foreign_key 'solid_queue_failed_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|     add_foreign_key 'solid_queue_ready_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|     add_foreign_key 'solid_queue_recurring_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|     add_foreign_key 'solid_queue_scheduled_executions', 'solid_queue_jobs', column: 'job_id', on_delete: :cascade
 | |
|   end
 | |
| end
 |