Sha256: 8d87b6d15b5fe0b78f8faa7a7c4e477e3d539fcaa7b352c94efd2e74d831fe8d

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

require_relative 'spec_helper'
require_relative 'support/paging_shared_example'
require_relative 'support/sorting_shared_example'
require 'active_record'

ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'

ActiveRecord::Schema.define do
  self.verbose = false

  create_table :products, force: true do |t|
    t.string :name
    t.string :slug
    t.integer :category_id
    t.integer :price

    t.timestamps null: true
  end

  create_table :categories, force: true do |t|
    t.string :title
    t.string :slug

    t.timestamps null: true
  end
end

class Product < ActiveRecord::Base
  belongs_to :category
end

class Category < ActiveRecord::Base
end

module ActiveRecord
  class Base
    def self.reset_pk_sequence
      case ActiveRecord::Base.connection.adapter_name
      when 'SQLite'
        new_max = maximum(primary_key) || 0
        update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
        ActiveRecord::Base.connection.execute(update_seq_sql)
      when 'PostgreSQL'
        ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
      else
        raise 'Task not implemented for this DB adapter'
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
trailblazer-finder-0.1.2 spec/spec_helper_active_record.rb
trailblazer-finder-0.1.1 spec/spec_helper_active_record.rb
trailblazer-finder-0.1.0 spec/spec_helper_active_record.rb