class CategoriesTable extends AbstractSqlTable<Category> {

    @Override
    public synchronized void onCreate(@NonNull SQLiteDatabase db, @NonNull TableDefaultsCustomizer customizer) {
        super.onCreate(db, customizer);
        final String categories = "CREATE TABLE " + getTableName() + " ("
                + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                + COLUMN_NAME + " TEXT, "
                + COLUMN_CODE + " TEXT, "
                + COLUMN_BREAKDOWN + " BOOLEAN DEFAULT 1, "
                + COLUMN_DRIVE_SYNC_ID + " TEXT, "
                + COLUMN_DRIVE_IS_SYNCED + " BOOLEAN DEFAULT 0, "
                + COLUMN_DRIVE_MARKED_FOR_DELETION + " BOOLEAN DEFAULT 0, "
                + COLUMN_LAST_LOCAL_MODIFICATION_TIME + " DATE, "
                + COLUMN_CUSTOM_ORDER_ID + " INTEGER DEFAULT 0, "
                + COLUMN_UUID + " TEXT "
                + ");";

        Logger.debug(this, categories);
        db.execSQL(categories);

        customizer.insertCategoryDefaults(this);
    }

    public  CategoriesTable(@NonNull SQLiteOpenHelper sqLiteOpenHelper,
                           @NonNull OrderingPreferencesManager orderingPreferencesManager);

}