mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-30 18:47:51 +00:00 
			
		
		
		
	
							
								
								
									
										2
									
								
								Procfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Procfile
									
									
									
									
									
								
							| @@ -1,3 +1,3 @@ | |||||||
| release: bundle exec rails db:prepare | release: bundle exec rails db:chatwoot_prepare | ||||||
| web: bin/rails server -p $PORT -e $RAILS_ENV | web: bin/rails server -p $PORT -e $RAILS_ENV | ||||||
| worker: bundle exec sidekiq -C config/sidekiq.yml | worker: bundle exec sidekiq -C config/sidekiq.yml | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								app.json
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								app.json
									
									
									
									
									
								
							| @@ -12,9 +12,6 @@ | |||||||
|     "vue" |     "vue" | ||||||
|   ], |   ], | ||||||
|   "success_url": "/", |   "success_url": "/", | ||||||
|   "scripts": { |  | ||||||
|     "postdeploy": "bundle exec rake db:seed" |  | ||||||
|   }, |  | ||||||
|   "env": { |   "env": { | ||||||
|     "SECRET_TOKEN": { |     "SECRET_TOKEN": { | ||||||
|       "description": "A secret key for verifying the integrity of signed cookies.", |       "description": "A secret key for verifying the integrity of signed cookies.", | ||||||
|   | |||||||
| @@ -5,3 +5,28 @@ Rake::Task['db:migrate'].enhance do | |||||||
|     ConfigLoader.new.process |     ConfigLoader.new.process | ||||||
|   end |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | # we are creating a custom database prepare task | ||||||
|  | # the default rake db:prepare task isn't ideal for environments like heroku | ||||||
|  | # In heroku the database is already created before the first run of db:prepare | ||||||
|  | # In this case rake db:prepare tries to run db:migrate from all the way back from the beginning | ||||||
|  | # Since the assumption is migrations are only run after schema load from a point x, this could lead to things breaking. | ||||||
|  | # ref: https://github.com/rails/rails/blob/main/activerecord/lib/active_record/railties/databases.rake#L356 | ||||||
|  | db_namespace = namespace :db do | ||||||
|  |   desc 'Runs setup if database does not exist, or runs migrations if it does' | ||||||
|  |   task chatwoot_prepare: :load_config do | ||||||
|  |     ActiveRecord::Base.configurations.configs_for(env_name: Rails.env).each do |db_config| | ||||||
|  |       ActiveRecord::Base.establish_connection(db_config.config) | ||||||
|  |       # handling case where database was created by the provider, with out running db:setup | ||||||
|  |       if ActiveRecord::Base.connection.tables.count.zero? | ||||||
|  |         db_namespace['load_config'].invoke if ActiveRecord::Base.schema_format == :ruby | ||||||
|  |         ActiveRecord::Tasks::DatabaseTasks.load_schema_current(:ruby, ENV['SCHEMA']) | ||||||
|  |         db_namespace['seed'].invoke | ||||||
|  |       end | ||||||
|  |  | ||||||
|  |       db_namespace['migrate'].invoke | ||||||
|  |     rescue ActiveRecord::NoDatabaseError | ||||||
|  |       db_namespace['setup'].invoke | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sojan Jose
					Sojan Jose