Module: ActiveRecord::ConnectionAdapters::Duckdb::SchemaStatementsRails81

Included in:
ActiveRecord::ConnectionAdapters::DuckdbAdapter
Defined in:
lib/active_record/connection_adapters/duckdb/schema_statements_rails81.rb

Overview

Rails 8.1+ specific schema statement implementations. Column constructor: (name, cast_type, default, sql_type_metadata, null, default_function, **options)

Instance Method Summary collapse

Instance Method Details

#new_column_from_field(table_name, field, _definitions) ⇒ ActiveRecord::ConnectionAdapters::Duckdb::Column

Creates a new Column object from DuckDB field information.

Parameters:

  • table_name (String)

    The name of the table

  • field (Array)

    Array containing column field information from PRAGMA table_info

  • definitions (Hash)

    Additional column definitions (unused)

Returns:



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/active_record/connection_adapters/duckdb/schema_statements_rails81.rb', line 14

def new_column_from_field(table_name, field, _definitions)
  info = column_info_from_field(table_name, field)
  cast_type = lookup_cast_type_from_column(info[:sql_type_metadata])

  Column.new(
    info[:name],
    cast_type,
    info[:default],
    info[:sql_type_metadata],
    info[:null],
    info[:default_function],
    collation: info[:collation],
    comment: info[:comment],
    auto_increment: info[:auto_increment],
    rowid: info[:rowid]
  )
end