A multitenantStack in beego, backend only, using postgres
Go to file
2018-11-18 09:33:54 +00:00
conf Migration Automation 2018-11-14 18:47:42 +01:00
constants Adding static roles 2018-11-15 18:10:07 +01:00
controllers Some unreachable code fixes 2018-11-16 20:01:49 +01:00
database Adding Modified By relation 2018-11-16 13:37:18 +01:00
docker Migration Automation 2018-11-14 18:47:42 +01:00
models Adding Modified By relation 2018-11-16 13:37:18 +01:00
routers Company Delete Endpoint done 2018-11-16 09:44:09 +01:00
scripts move migrateTenants 2018-11-16 18:35:05 +01:00
services Fixing Config read 2018-11-18 09:33:54 +00:00
swagger Protecting Created Date, updating docs, changin errors to JSON 2018-11-16 11:48:45 +01:00
tests Update readme and testconfig 2018-11-14 18:49:49 +01:00
.gitignore remove lastupdate 2018-11-12 12:31:12 +01:00
bee.json move migrateTenants 2018-11-16 18:35:05 +01:00
Dockerfile Adding generated dockerfile 2018-11-06 13:02:44 +01:00
main.go Changing companydb to read config file 2018-11-13 19:02:47 +01:00
Readme.md Adding final notes 2018-11-17 12:30:51 +01:00


This is a project to demonstrate multi tenancy usage in beego using postgres and separated databases

The api was scaffolded using:

bee api multitenantStack -driver=postgres -conn="host= port=5435 user=postgres password=postgre dbname=company_template sslmode=disable"

then `bee run -downdoc=true``

To regenerate docs simply run bee generate docs


Todo till we can fork this repo

  • /register endpoint creates database, company and first admin
  • load db connections from config
  • user delete needs to update system
  • company delete needs to exist and update usercompanymap
  • last modified in update for all tables
  • modifiedby (companyuserid) relation
  • checking some roles in all controller endpoints
  • return error in case of not found
  • go through all endpoints for errors


  • Fixes have been placed into the beego orm for setting the timezone when using NewOrmWithDB() (Already merged)
  • Bee needs the dir patch (merge pending)


  • script that runs all migrations (and passes through rollback or others, show states for company, run for single company) (list, connect, migrate)


github.com/kennygrant/sanitize github.com/astaxie/beego github.com/beego/bee github.com/dgrijalva/jwt-go golang.org/x/crypto/bcrypt

Final Notes:

On 17.11.18 this project was considered a complete template and forked for granny