Socket
Book a DemoInstallSign in
Socket

activerecord-uuid

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

activerecord-uuid

0.9.1
bundlerRubygems
Version published
Maintainers
2
Created
Source

ActiveRecord::Uuid

Adds automatically-assigned UUIDs to your model and allows you to find by UUID directly.

Configuration

Add the gem to your Gemfile:

gem 'activerecord-uuid'

Create a migration to inclue a uuid column:

class CreateFoos < ActiveRecord::Migration
  def up
    create_table :foos do |t|
      t.string :uuid # Store it as a string. See below to use native PostgreSQL UUID columns.
    end
  end
end

Use it in your ActiveRecord model:

class Foo < ActiveRecord::Base
  include ActiveRecord::Uuid
end

See it work:

Foo.create
 => #<Foo id: 1, uuid: "680d92fc-8b1e-11e1-a80a-70cd60fffe5d">
Foo.find(1)
 => #<Foo id: 1, uuid: "680d92fc-8b1e-11e1-a80a-70cd60fffe5d">
Foo.find("680d92fc-8b1e-11e1-a80a-70cd60fffe5d")
 => #<Foo id: 1, uuid: "680d92fc-8b1e-11e1-a80a-70cd60fffe5d">

Native UUID Columns

This gem adds a Rails initializer that allows you to use native UUID types in PostgreSQL. To create a column in your migration:

class CreateFoos < ActiveRecord::Migration
  def up
    create_table :foos
    add_column :foos, :uuid, :uuid
  end
end

Note that this does not work with create_table and change_table block syntaxes. Feel free to add support and open a pull request.

Dumping your db/schema.rb file will not work with native UUID types, so instead you should use this line in your config/application.rb file to instead dump to db/structure.sql:

config.active_record.schema_format = :sql

TODO

  • Allow configuration of UUID columns.
  • Figure out how to make native migrations work with create_table and change_table.
  • Write tests!

© 2012 Adaptly. See LICENSE.txt for further details.

FAQs

Package last updated on 20 Apr 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.