Bones - a webapp template for Go
You can use
go get to install all required dependencies:
go get ./...
dependencies.txt contains an up to date list of third party libraries that
will be installed by running the previous command.
More docs to come.
Database & tables
db/database.yaml and update the configuration.
You can install and use the included
execdb tool to initialize the database with the required tables:
execdb -c "user=youruser password='yourpassword' host=localhost port=5432 dbname=bones_development sslmode=disable"
Heroku (using Keith Rarick's buildpack)
heroku create -b https://github.com/kr/heroku-buildpack-go.git
git push heroku master
heroku addons:add heroku-postgresql:dev
heroku pg:promote HEROKU_POSTGRESQL_COLOR_URL
heroku run execdb
Note that the
HEROKU_POSTGRESQL_COLOR_URL must be substituted with the actual envvar (e.g.
Rename the project
You probably don't want your own application to be named "Bones".
rename tool (
PROJECT_ROOT/tools/rename) will help you update the import paths of the
included packages to use a name of your own choosing:
go run tools/rename/rename.go -name=appname
The tool is "AST aware", so it won't just rename anything with the text "bones" in it. Rewrites will be limited to imports, with
the exception of code formatting. The
go/printer package is used to write the results back to disk with a configuration
that matches the formatting of the Bones codebase (should be default gofmt settings).
rename only updates imports. You still need to update files like