Command Line Manager¶
Since version 1.13.1 F.A.B. has a new command line manager, integrated with Flask cli.
The old fabmanager
command line is now deprecated and will be completely removed on 2.2.X.
It’s very easy to migrate to the new command line, all sub commands are still the same and
use the same parameters.
To use the new commands integrated with Flask cli you must specify on to import your app. Take a look at Flask docs.:
# Using the default skeleton application
$ export FLASK_APP=app
# Using factory app pattern
$ FLASK_APP="app:create_app('config')"
FAB creates a Flask command group named fab
, so all commands are issued like:
$ flask fab <command> <parameters>
To Run your application on development:
$ flask run --with-threads --reload
Take a quick look to the current possibilities. (The bold ones require app context)
babel-compile - Babel, Compiles all translations
babel-extract - Babel, Extracts and updates all messages.
create-admin - Creates an admin user
create-user - Create user with arbitrary role
create-app - Create a Skeleton application (SQLAlchemy or MongoEngine).
create-addon - Create a Skeleton AddOn.
create-db - Create all your database objects (SQLAlchemy only)
collect-static - Copies static files from flask-appbuilder to your static folder. Nice to have on certain deploys
export-roles - Export roles with permissions and view menus to JSON file.
import-roles - Import roles with permissions and view menus from JSON file.
list-users - List all users on the database.
list-views - List all registered views.
reset-password - Resets a user’s password.
security-cleanup - Cleanup unused permissions from views and roles. Security
security-converge - Converges all security view and permission names from all your roles. Security
upgrade-db - Upgrade your database after F.A.B upgrade.
version - Flask-AppBuilder package version.
Command Line uses the excellent click package, so you can have a detailed help for each command, for instance:
$ flask fab create-app --help
Usage: flask fab create-app [OPTIONS]
Create a Skeleton application
Options:
--name TEXT Your application name, directory will have
this name
--engine [SQLAlchemy|MongoEngine]
Write your engine type
--help Show this message and exit.
create-app - Create new Applications¶
To create a ready to dev skeleton application, you can use this command for SQLAlchemy engine and MongoEngine (MongoDB). This commands needs an internet connection to github.com, because it will download a zip version of the skeleton repos.
create-admin - Create an admin user¶
Use this to create your first Admin user, or additional ones. This admin user can be used to any type of authentication method configured, but flask fab create-admin will not check it, so it will always ask for a password (assumes AUTH_DB).
babel-extract - Babel, Extracts and updates all messages.¶
Use multi -k options separated by space to specify how to locate the strings you want to translate. Default values: lazy_gettext, gettext, _, __. For example:
flask fab babel-extract --target flask_appbuilder/translations/ -k _ -k __
create-addon - Create new AddOns¶
To create a ready to dev skeleton addon. This commands needs an internet connection to github.com, because it will download a zip version of the skeleton repos.
collect-static - Collect static files¶
Use this to copy all static files from flask-appbuilder package to your application static folder. Nice to have on certain deploys, if your web server is serving the static files directly.
upgrade-db - Upgrade your database after F.A.B. upgrade to 1.3.0¶
Will upgrade your database, necessary if you’re already using F.A.B. Users now are able to have multiple roles. Take a look at Version Migration
reset-password - Resets a user’s password.¶
Reset a user’s password