fix: Specify external db with non-standard port (#2711)
POSTGRES_PORT was not taking effect if provided separately instead of using DATABASE_URL. This adds support for using databases running on non-standard ports. #1145 #1147 Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This commit is contained in:
parent
7662fdce47
commit
223385d134
6 changed files with 13 additions and 7 deletions
|
@ -21,7 +21,8 @@ class Account < ApplicationRecord
|
||||||
include Featurable
|
include Featurable
|
||||||
|
|
||||||
DEFAULT_QUERY_SETTING = {
|
DEFAULT_QUERY_SETTING = {
|
||||||
flag_query_mode: :bit_operator
|
flag_query_mode: :bit_operator,
|
||||||
|
check_for_column: false
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
ACCOUNT_SETTINGS_FLAGS = {
|
ACCOUNT_SETTINGS_FLAGS = {
|
||||||
|
|
|
@ -39,7 +39,9 @@ class Channel::WebWidget < ApplicationRecord
|
||||||
|
|
||||||
has_flags 1 => :attachments,
|
has_flags 1 => :attachments,
|
||||||
2 => :emoji_picker,
|
2 => :emoji_picker,
|
||||||
:column => 'feature_flags'
|
:column => 'feature_flags',
|
||||||
|
:check_for_column => false
|
||||||
|
|
||||||
enum reply_time: { in_a_few_minutes: 0, in_a_few_hours: 1, in_a_day: 2 }
|
enum reply_time: { in_a_few_minutes: 0, in_a_few_hours: 1, in_a_day: 2 }
|
||||||
|
|
||||||
def name
|
def name
|
||||||
|
|
|
@ -2,7 +2,8 @@ module Featurable
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
QUERY_MODE = {
|
QUERY_MODE = {
|
||||||
flag_query_mode: :bit_operator
|
flag_query_mode: :bit_operator,
|
||||||
|
check_for_column: false
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
FEATURE_LIST = YAML.safe_load(File.read(Rails.root.join('config/features.yml'))).freeze
|
FEATURE_LIST = YAML.safe_load(File.read(Rails.root.join('config/features.yml'))).freeze
|
||||||
|
|
|
@ -23,7 +23,8 @@ class NotificationSetting < ApplicationRecord
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
DEFAULT_QUERY_SETTING = {
|
DEFAULT_QUERY_SETTING = {
|
||||||
flag_query_mode: :bit_operator
|
flag_query_mode: :bit_operator,
|
||||||
|
check_for_column: false
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
EMAIL_NOTIFICATION_FLAGS = ::Notification::NOTIFICATION_TYPES.transform_keys { |key| "email_#{key}".to_sym }.invert.freeze
|
EMAIL_NOTIFICATION_FLAGS = ::Notification::NOTIFICATION_TYPES.transform_keys { |key| "email_#{key}".to_sym }.invert.freeze
|
||||||
|
|
|
@ -3,6 +3,7 @@ default: &default
|
||||||
encoding: unicode
|
encoding: unicode
|
||||||
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
||||||
host: <%= ENV.fetch('POSTGRES_HOST', 'localhost') %>
|
host: <%= ENV.fetch('POSTGRES_HOST', 'localhost') %>
|
||||||
|
port: <%= ENV.fetch('POSTGRES_PORT', '5432') %>
|
||||||
|
|
||||||
development:
|
development:
|
||||||
<<: *default
|
<<: *default
|
||||||
|
|
|
@ -5,6 +5,6 @@ require 'uri'
|
||||||
if !ENV['DATABASE_URL'].nil? && ENV['DATABASE_URL'] != ''
|
if !ENV['DATABASE_URL'].nil? && ENV['DATABASE_URL'] != ''
|
||||||
uri = URI(ENV['DATABASE_URL'])
|
uri = URI(ENV['DATABASE_URL'])
|
||||||
puts "export POSTGRES_HOST=#{uri.host} POSTGRES_PORT=#{uri.port} POSTGRES_USERNAME=#{uri.user}"
|
puts "export POSTGRES_HOST=#{uri.host} POSTGRES_PORT=#{uri.port} POSTGRES_USERNAME=#{uri.user}"
|
||||||
else
|
elif ENV['POSTGRES_PORT'].nil? || ENV['POSTGRES_PORT'] == ''
|
||||||
puts "export POSTGRES_PORT=5432"
|
puts "export POSTGRES_PORT=5432"
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue