Skip to content

Team Edition Migration

DBeaverDevOps edited this page Feb 9, 2024 · 1 revision

Table of contents

This article explains the key differences between single-user DBeaver products and DBeaver Team Edition. We will look at vital information for users considering or undergoing migration.

Problem Overview

DBeaver desktop, which is a versatile database management suite, includes editions like Community, Lite, Enterprise, and Ultimate. These editions are primarily designed for individual use. All configurations, database connections, SQL scripts, diagrams, and other related files are stored on the local machine.

While these single-user editions provide powerful tools for individual database management, they are not optimized for team collaboration. Sharing resources between multiple users via email, message applications, or disk shares can lead to inconveniences and the need to constantly synchronize.

Using shared version control systems like Git is a potential solution, but this approach has its own challenges, particularly for non-programmers who might find Git concepts a bit complex. In addition, merge conflicts can sometimes disrupt the configuration.

On the security front, the single-user editions of DBeaver do not mandate authentication. This means that anyone who gains access to a computer can also access all saved configurations and sensitive data, such as database server credentials. Though workarounds like workspace master passwords or project-based passwords with configuration encryption exist, they can be especially cumbersome, especially in larger organizations.

Recognizing these challenges, DBeaver has introduced the DBeaver Team Edition, tailored for multi-user collaboration.

DBeaver Team Edition

DBeaver Team Edition is a multi-user application designed for distributed team work. The solution comprises:

  • DBeaver Team Edition server (For deployment details, refer to Deployment)
  • DBeaver Team Edition desktop client (With functionality similar to classic DBeaver)
  • DBeaver Team Edition web client (Comparable to CloudBeaver)

Important: DBeaver Team Edition requires users to deploy the server on their own infrastructure. It is not provided as a hosted solution or a Software as a Service (SaaS) offering.

This article does not discuss server installation and configuration. For that information, consult the links provided above. Instead, this document focuses on guiding users through the process of migrating their existing configurations to adapt to the multi-user environment.

Authentication

To utilize DBeaver Team Edition, each user is required to authenticate within the system. Various authentication methods can be configured by system administrators to suit their organizational needs:

  • Username and Password
  • Cloud provider authentication (AWS, Google, Azure)
  • Windows NTLM

The authentication dialog appears on the initial screen when launching the desktop client or accessing the web application.

Working in Desktop client

The DBeaver Team Edition client is very similar to DBeaver Ultimate in terms of user interface, editors, and views. However, there are some key differences:

  • Database connections, SQL scripts, and other resources are stored on a remote server, fetched to the local machine on demand.
  • Saved database credentials are securely stored and encrypted on the server. In the case of a desktop client, these credentials are requested on-demand and are never saved on the local disk.
  • The database task scheduler initiates tasks on the remote server, not the local machine.
  • The User interface varies slightly depending on the user's roles (see below).
  • Git integration is omitted from desktop clients as files are not saved on the local file system. Git Integration is available through the administration panel.
  • Quick file search functionality is not available in the DBeaver Team Edition client.

Working in the Web client

The Web client is very similar to the classic CloudBeaver, with the following notable differences:

  • DBeaver Team Edition supports an infinite number of global projects (in classic CloudBeaver there is only one global project).
  • The user interface varies based on the user's roles (see below).

Projects, Teams, and Roles in DBeaver Team Edition

In DBeaver Team Edition, the concept of projects is similar to that in classic desktop versions:

  • A project contains database connections, SQL scripts, datasets, and other resources.
  • Every user has access only to some projects (it is controlled by the administrator).

A team functions as a group of users, and users can belong to multiple teams. Access to projects can be granted either to a team or to individual users.

Roles serve as access levels for users, and each user can have only one role:

Capability \ Roles Administrator Developer Manager Editor Viewer
Full system administration + - - - -
Manage users and licenses + - - - -
Create/delete projects + - - - -
Edit connections + + - - -
View connections + + + - -
Create/edit/delete resources and scripts + + + - -
Create/edit datasets + + + - -
Create/edit folders + + + - -
Save datasets to private project + + + - -
Use DBeaver desktop + + + - -
In-line data editing + + + + -
View, browse, filter, export datasets + + + + +

Working with database credentials

Unlike other products, in DBeaver Team Edition, credentials are entered at the application's startup.

Users can reuse the credentials used for logging in when connecting to databases. This approach also streamlines the process of connecting to various databases, especially those hosted on cloud servers, by using the same set of credentials for both the DBeaver Team Edition and database access.

Database Tasks and Scheduling

In DBeaver Team Edition, tasks are scheduled on the server, which differs from other DBeaver products. As a result, task outcomes are stored exclusively on the server. To access these results on a local machine, download them from the server.

Version Control

In DBeaver Team Edition, Git integration is engineered for collaborative work:

  • Admin-Configured credentials: Administrators establish Git credentials, which means all changes made by the users are committed on behalf of the administrator-set user, not the individual users themselves.
  • Local repository management: The local Git repository is not directly accessible for standard Git operations. Team Edition automates Git interactions, streamlining version control for collaborative work.

For further details on version control within DBeaver Team Edition, refer to the Git TE integration documentation. For Desktop DBeaver, see the Project team work documentation.

Migration overview

The decision to migrate entire projects in DBeaver Team Edition is driven by two main factors:

  • Comprehensive content: A project encapsulates all necessary elements, such as connections, scripts, and datasets. Migrating the project as a whole keeps these components together.

  • Role-based access control: In DBeaver Team Edition, permissions are assigned at the project level, and the number of permissions available varies based on user roles. This makes it important to migrate entire projects to match the unique structure in Team Edition. For more details about roles, see in related section.

Below, we explore the steps for migrating your project, focusing on a scenario where DBeaver Team Edition has been deployed using Docker. We offer a range of deployment options for DBeaver Team Edition, each with its own specific steps and requirements. For detailed information and a complete list of these deployment methods, please refer to the DBeaver Team Edition deployment guide.

Important If you have set a Project password in the DBeaver Desktop version or enabled the use secure password storage option (located at Window -> Preferences -> General -> Security), you may encounter issues during migration. To avoid these issues, consider temporarily removing these security measures before migration.

Migration steps

  1. In your terminal find the container ID and Name of dbeaver/cloudbeaver-rm. You can do this by running the docker ps command. Copy the container Name (you will need it later).

  2. Find the path to your project in DBeaver Desktop:

    • In DBeaver Desktop, go to the Projects tab (Window -> Projects), select your project, and then, for Windows, click on the project and press Alt+Enter or for macOS, press ⌘I. This action will open a dialog where you can copy the Location of your workspace path.
  3. In another terminal window, copy your project folder into the Docker container using the following command ( replace project_path with the actual path to your project and container_name with the copied container Name):

    docker cp project_path container_name:/opt/resource-manager/workspace/shared-projects
    
  4. If everything is done correctly, you will see a message confirming the successful copy.

DBeaver Desktop Documentation

General User Guide

Database Management

DBeaver PRO

Databases support

Customizing DBeaver

Troubleshooting

Admin Guide

License management

Tutorials

Development

Clone this wiki locally