Heroku assumes the default, or more commonly considered "primary", database to be at DATABASE_URL. It's a convention that started at Heroku to aid in 12 factor apps (
http://12factor.net) and I believe made it's way into Rails as a convention. I could be wrong there though...
PGBackups requires DATABASE_URL to be `postgres://` format, otherwise PGBackups won't work. That's about the only restriction/gotcha Heroku has regarding DATABASE_URL though. Heroku recommends you do not configure DATABASE_URL directly. Instead, you set it by adding a database add-on and using pg:promote to change DATABASE_URL. The idea of using environment variables for things like this is that Heroku can update that DATABASE_URL in extreme circumstances (server crash, et. al) and your application only needs a restart and no code changes. Requiring users to manually set DATABASE_URL to `ecto://<string>` is going to make using this library on Heroku troublesome.
I believe Rails ORM (and maybe Sequel) determines the driver based on the protocol (postgres://, mysql://), which I think is a good idea. The `ecto://` protocol threw me when I first saw this library, but I don't design many libraries, so I assumed it was made for a good reason.
--
Clint