Managing Waffle data from the command line
Aside the Django admin interface, you can use the command line tools to manage all your waffle objects.
Flags
Use manage.py to change the values of your flags:
$ ./manage.py waffle_flag name-of-my-flag --everyone --percent=47
Use --everyone to turn on and --deactivate to turn off the flag.
Set a percentage with --percent or -p. Set the flag on for
superusers (--superusers), staff (--staff) or authenticated
(--authenticated) users. Set the rollout mode on with --rollout
or -r.
If the flag doesn’t exist, add --create to create it before setting
its values:
$ ./manage.py waffle_flag name-of-my-flag --deactivate --create
To list all the existing flags, use -l:
$ ./manage.py waffle_flag -l
Flags:
name-of-my-flag
Switches
Use manage.py to change the values of your switches:
$ ./manage.py waffle_switch name-of-my-switch off
You can set a switch to on or off. If that switch doesn’t exist,
add --create to create it before setting its value:
$ ./manage.py waffle_switch name-of-my-switch on --create
To list all the existing switches, use -l:
$ ./manage.py waffle_switch -l
Switches:
name-of-my-switch on
Samples
Use manage.py to change the values of your samples:
$ ./manage.py waffle_sample name-of-my-sample 100
You can set a sample to any floating value between 0.0 and
100.0. If that sample doesn’t exist, add --create to create it
before setting its value:
$ ./manage.py waffle_sample name-of-my-sample 50.0 --create
To list all the existing samples, use -l:
$ ./manage.py waffle_sample -l
Samples:
name-of-my-sample: 50%
Deleting Data
Use manage.py to delete a batch of flags, switches, and/or samples:
$ ./manage.py waffle_delete --switches switch_name_0 switch_name_1 --flags flag_name_0 flag_name_1 --samples sample_name_0 sample_name_1
Pass a list of switch, flag, or sample names to the command as keyword arguments and they will be deleted from the database.