method
add_enum_value
v8.1.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
add_enum_value(type_name, value, **options)public
Add enum value to an existing enum type.
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 598
def add_enum_value(type_name, value, **options)
before, after = options.values_at(:before, :after)
sql = +"ALTER TYPE #{quote_table_name(type_name)} ADD VALUE"
sql << " IF NOT EXISTS" if options[:if_not_exists]
sql << " #{quote(value)}"
if before && after
raise ArgumentError, "Cannot have both :before and :after at the same time"
elsif before
sql << " BEFORE #{quote(before)}"
elsif after
sql << " AFTER #{quote(after)}"
end
execute(sql).tap { reload_type_map }
end Related methods
- Instance methods
- active?
- add_enum_value
- build_insert_sql
- check_version
- connected?
- create_enum
- default_index_type?
- disable_extension
- discard!
- disconnect!
- drop_enum
- enable_extension
- enum_types
- extension_available?
- extension_enabled?
- extensions
- get_advisory_lock
- get_database_version
- index_algorithms
- max_identifier_length
- release_advisory_lock
- reload_type_map
- rename_enum
- rename_enum_value
- reset!
- session_auth=
- set_standard_conforming_strings
- supports_advisory_locks?
- supports_bulk_alter?
- supports_check_constraints?
- supports_close_prepared?
- supports_comments?
- supports_common_table_expressions?
- supports_datetime_with_precision?
- supports_ddl_transactions?
- supports_deferrable_constraints?
- supports_exclusion_constraints?
- supports_explain?
- supports_expression_index?
- supports_extensions?
- supports_foreign_keys?
- supports_foreign_tables?
- supports_identity_columns?
- supports_index_include?
- supports_index_sort_order?
- supports_insert_conflict_target?
- supports_insert_on_conflict?
- supports_insert_on_duplicate_skip?
- supports_insert_on_duplicate_update?
- supports_insert_returning?
- supports_json?
- supports_lazy_transactions?
- supports_materialized_views?
- supports_native_partitioning?
- supports_nulls_not_distinct?
- supports_optimizer_hints?
- supports_partial_index?
- supports_partitioned_indexes?
- supports_pgcrypto_uuid?
- supports_restart_db_transaction?
- supports_savepoints?
- supports_transaction_isolation?
- supports_unique_constraints?
- supports_validate_constraints?
- supports_views?
- supports_virtual_columns?
- use_insert_returning?
- Class methods
- create_unlogged_tables
- datetime_type
- dbconsole
- decode_dates
- initialize_type_map
- native_database_types
- new
- new_client
- Private methods
-
add_pg_decoders -
add_pg_encoders -
arel_visitor -
build_statement_pool -
can_perform_case_insensitive_comparison_for? -
column_definitions -
configure_connection -
connect -
extract_default_function -
extract_value_from_default -
get_oid_type -
has_default_function? -
in_transaction? -
initialize_type_map -
is_cached_plan_failure? -
load_additional_types -
load_types_queries -
prepare_statement -
reconfigure_connection_timezone -
reconnect -
retryable_query_error? -
sql_key -
translate_exception -
update_typemap_for_default_timezone