Class: ActiveRecord::ConnectionAdapters::PostgreSQLColumn

Inherits:
Column
  • Object
show all
Defined in:
lib/core_ext/active_record/connection_adapters/postgresql/column.rb

Overview

PostgreSQL-specific extensions to column definitions in a table.

Instance Method Summary collapse

Instance Method Details

#serial?Boolean

Patch 1:

Remove schema name part from table name when sequence name doesn’t include it.

Returns:

  • (Boolean)


7
8
9
10
11
12
13
14
15
16
# File 'lib/core_ext/active_record/connection_adapters/postgresql/column.rb', line 7

def serial?
  return unless default_function

  if %r{\Anextval\('"?(?<sequence_name>.+_(?<suffix>seq\d*))"?'::regclass\)\z} =~ default_function
    is_schema_name_included = sequence_name.split(".").size > 1
    _table_name = is_schema_name_included ? table_name : table_name.split(".").last

    sequence_name_from_parts(_table_name, name, suffix) == sequence_name
  end
end