Class: ActiveRecordADBCAdapter::SchemaCreation
- Inherits:
-
ActiveRecord::ConnectionAdapters::SchemaCreation
- Object
- ActiveRecord::ConnectionAdapters::SchemaCreation
- ActiveRecordADBCAdapter::SchemaCreation
- Defined in:
- lib/activerecord_adbc_adapter/schema_creation.rb
Instance Method Summary collapse
Instance Method Details
#visit_ColumnDefinition(o) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/activerecord_adbc_adapter/schema_creation.rb', line 15 def visit_ColumnDefinition(o) sql = super if o.type == :primary_key and @conn.backend == "duckdb" sql << " DEFAULT NEXTVAL('#{quote_string(sequence_name(o))}')" end sql end |
#visit_TableDefinition(o) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/activerecord_adbc_adapter/schema_creation.rb', line 23 def visit_TableDefinition(o) o.columns.each do |column| column.singleton_class.define_method(:table) do o end end sql = super if @conn.backend == "duckdb" o.columns.each do |column| if column.type == :primary_key s = +"CREATE SEQUENCE" s << " IF NOT EXISTS" if o.if_not_exists s << " #{quoted_sequence_name(column)}" s << "; #{sql}" sql = s end end end sql end |