class ClickhouseActiverecord::SchemaMigration

Public Class Methods

all_versions() click to toggle source
# File lib/clickhouse-activerecord/migration.rb, line 20
def all_versions
  from("#{table_name} FINAL").where(active: 1).order(:version).pluck(:version)
end
create_table() click to toggle source
# File lib/clickhouse-activerecord/migration.rb, line 8
def create_table
  unless table_exists?
    version_options = connection.internal_string_options_for_primary_key

    connection.create_table(table_name, id: false, options: 'ReplacingMergeTree(ver) PARTITION BY version ORDER BY (version)', if_not_exists: true) do |t|
      t.string :version, **version_options
      t.column :active, 'Int8', null: false, default: '1'
      t.datetime :ver, null: false, default: -> { 'now()' }
    end
  end
end