Waxx has a very easy setup process.
The setup process currently works with
PostgreSQL.
Waxx can be used simultaniously with
MySQL,
MariaDB,
SQLite, and
MongoDB.
Simultaniously means that one waxx instance can talk to all of those databases at the same time.
The setup script will create a skeleton app and config file suitable for development.
Waxx supports multiple environments.
The defaults are: dev, test, stage, prod.
Each environment has a folder in opt/
.
If you have a folder (or symlink) in opt/
called active
, it will be the active environment.
You can also start waxx with a specified environment: waxx on stage
.
If no active and no command line option is given, the dev environment will be used.
Here is the installation process:
sudo gem install waxx
waxx init demo
cd demo
The Waxx gem is cryptographically signed to be sure the gem you install hasn't been tampered with. Because of this you need to add the public key to your list of trusted gem certs. Follow theese direction. (You only need step one the first time you install the gem.)
sudo gem cert --add <(curl -s https://www.waxx.io/waxx-gem-public-key.pem)
sudo gem install waxx -P HighSecurity
waxx init demo
cd demo
This will create the demo folder and install the app skeleton into the folder and optionally add the waxx table to your database.
From within your waxx app folder run the following to complete the full waxx setup.
Currently these only work with Postgres.
To see what SQL is run, open db/app/0-init.sql.
The db/app folder is where you put your migrations in the format YYYYMMDDHHMM-name.sql.
(Run waxx migration app NAME
to create a migration file.)
The following tables will be created: app_log, email, grp, usr, usr_grp.
Two groups will be create: admin and dev.
The usr that you create with App::Usr.init(x) will be in both groups.
waxx migrate
waxx console
App::Usr.init(x)
quit
waxx on
open http://localhost:7777/
After you run the install script, you can edit the config file: opt/dev/config.yaml
. See details about the Waxx config file.
If you edit the config file, run:
waxx buff
waxx buff
is a waxx off
+ waxx on
or if you prefer waxx restart
.