Fork Your Application's Data (Not Just Your Code)

Git and Github revolutionized software development by letting you fork your source repository with a single click. Wouldn't it be great to be able to do the same thing with your database?

In the same way you can fork your code you can now fork your data. Fork changes the way you can work with your data, making it a snap to provision a clone of your production database. The technology is simple, safe, and robust, and thanks to Heroku Postgres' cloud architecture, places no load on your primary database. Today, we’re announcing the release of this functionality into General Availability.

Forking your data opens up whole new ways of developing software. We've seen our users finding all kinds of use-cases including:

  • Easier load testing
  • Worry-free migrations
  • Trivial cloning of data to development/staging

How many times have you run a migration that went wrong in production but worked perfectly against your testing data? With Heroku Postgres, you can simply fork your production database and test the migration against real data. After it finishes, if the result looks good, you can promote it, fix it, or throw it away. If there's a problem, you still have your original database.

This kind of fearless interaction is the product of a new way of thinking about data. By shifting the focus away from database servers and towards your data, Heroku Postgres gives you tools to work risk-free throughout the entire software lifecycle: in development, staging, and production.

Creating forks is supported from both the CLI and through the Heroku Postgres dashboard. From within the Heroku Postgres dashboard, you can make a fork with one click:


You can also use a single command with the Heroku CLI to fork your data:

$ heroku addons:add heroku-postgresql:crane --fork HEROKU_POSTGRESQL_LAVENDER
Adding heroku-postgresql:crane on sushi... done, v113 ($50/mo)

Heroku Postgres features like fork empower you to focus on what really matters – building your application and business. By choosing Heroku Postgres as your database-as-a-service provider you get the benefit of constant improvement, and new functionality which gives you the ability to build better software faster and more safely.

Fork is available immediately on every Heroku Postgres production database. To learn more about forking your data, you can read the dev center article, go to the Heroku Postgres dashboard and click the fork button on one of your existing databases, or simply create one from the command-line. As always with Heroku, you only pay for what you use, so give it a try today and see how easy it is and then let us know how you're using it at

Hacking mruby onto Heroku

If you're in the Ruby world, you've likely heard about mruby, Matz's latest experimental Ruby implementation. What I bet you didn't know is that you can run mruby on Heroku right now. As a matter of fact you can run just anything on Heroku, as long as it can compile it into a binary on a Linux box.

If you're new to mruby, or to compiling binaries take a look at my last article Try mruby Today. I cover getting mruby up and running on your local machine. If you are already up to speed then follow along as we use vulcan to package mruby as binary, wrap it up in a custom buildpack and then launch an app to use mruby on the Heroku cloud.

Continue Reading ...


If you missed it yesterday we announced official support for Ruby 2.0.0 Preview1, and announced the dates for our developer conference, Waza 2013, including the Waza call for Speakers.

Waza 2013

Waza Returns to San Francisco in February 2013

Heroku's developer event, Waza, returns on Thursday, February 28th, 2013 to the Concourse in San Francisco. Sign up to be notified when tickets are available.

What is Waza?

Waza (技) is the Japanese word for art and technique. At Heroku, we believe that software development is a craft. Building modern technologies that engage and inspire is an art, with techniques shared, passed on, and honed in the process of creation.

Waza is an event where developers can find inspiration – about what’s happening in technology, what’s happening at Heroku, how people are thinking about the future, and how the landscape of technology is changing. Through technical sessions and non-technical, artistic, and interactive happenings, Waza celebrates what it means to embrace art, technique and the creative process of software development.

Held in early 2012, the inaugural Waza featured moments that included large-format photography, architectural origami, hacking, discussions, musical performances, and technical sessions on a range of topics. Building upon the successes and lessons learned from Waza 2012, the next Waza will be equally unconventional, more ambitious, and even more focused on technical developer content.

Call For Speakers

At the core of this year's developer gathering is exceptional content. We have opened a Call For Speakers for Waza 2013 through November 30th. We are looking for interesting stories, innovative projects, emerging philosophies, and technical craftsmanship. We're hunting for topics ranging from technical deep-dives about cutting-edge application architectures and stellar & advanced uses of the Heroku platform, to non-technical topics such as the philosophy of application design or building modern company culture. If you have something to share in the realm of art and technique that could fit well at Waza, send some information to and start the conversation.

Ruby 2.0 Preview Available on Heroku

When Heroku first launched you could only use one version of Ruby: 1.8.6. As the Ruby implementation matured and improved, so did Heroku. We recently announced the ability to specify your ruby version on Heroku, and we are happy to announce the first preview-build of Ruby available: starting today you can use Ruby 2.0 preview1 on Heroku.

Ruby 2.0

The Ruby core team has been hard at work on Ruby 2.0, which has a host of new features and boasts performance improvements. You can get a list of the major new features on the official Ruby 2.0.0 Preview1 announcement.

Heroku has been committed to the Ruby project by sponsoring the work of Yukihiro "Matz" Matsumoto, Koichi Sasada and Nobuyoshi Nakada on MRI Ruby. We have been very pleased with Ruby Core's progress, and look forward to the full release. You can take an in-depth look at the new Ruby 2.0 features available. But don't just read about it, try it out on Heroku today:

Get Ruby 2.0 Running on Heroku

Start by making a Gemfile that specifies Ruby 2.0.0:

$ echo 'source ""'  > Gemfile
$ bundle install
$ echo 'ruby "2.0.0"' >> Gemfile

Add the files to a Git repository:

$ git init
$ git add .
$ git commit -m "Ruby 2.0.0 preview on Heroku"

Then create a new heroku app and deploy:

$ heroku create
$ git push heroku master
-----> Heroku receiving push
-----> Ruby app detected
-----> Using Ruby version: ruby-2.0.0
-----> Installing dependencies using Bundler version 1.2.1
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       The Gemfile specifies no dependencies
       Your bundle is complete! It was installed into ./vendor/bundle
       Cleaning up the bundler cache.
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for Ruby  -> console, rake
-----> Compiled slug size: 23.3MB
-----> Launching... done, v4 deployed to Heroku

 * [new branch]      master -> master

Now you can run Ruby 2.0 beta on Heroku!

$ heroku run bash
Running `bash` attached to terminal... up, run.1
~ $ ruby --version
ruby 2.0.0dev (2012-11-01 trunk 37411) [x86_64-linux]
~ $ ruby -e "puts 'hello world'"
hello world

Why Run 2.0 Preview1?

Ruby 2.0 will ship on February 24th, 2013 - which is four days before our developer conference Waza. Heroku's own Matz has announced that Rails 3.2 apps should work with Ruby 2.0 if they work on Ruby 1.9. Help us find any incompatibilities by checking your existing applications on Heroku. If you run into any bugs in the Ruby implementation, please open a bug in the Ruby bug tracker and let the Ruby team know what didn't work with the implementation.


If you are updating an existing app you will likely need to update your config vars manually. New apps should not experience any problems.


Thanks to the entire Ruby Core Team for their hard work on this release of Ruby, and special thanks to Terence Lee. Terence is Heroku's Ruby buildpack maintainer who did the leg work to enable Ruby 2.0.0 Preview1 on Heroku. Please try out this Ruby preview today, to help the Ruby core team and to help our community. Try it today.

Heroku Postgres Releases Follow into GA

Today Heroku Postgres is releasing the ability to Follow your database General Availability: this lets you easily create multiple read-only asynchronous replicas of your database, known as followers.

Followers enable some great use cases:

Read more about this exciting feature on the Heroku Postgres Blog.

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.