User and Object Privilege Views
Wildcard Patterns and Proxy Privileges
|
NOTE: Privileges that are set using these methods are NOT visible in the Privileges tab in User Detail and Object Detail. |
Wildcard patterns privileges
Wildcard pattern privileges offer a way to grant privileges for multiple databases at once. The condition is that the database names must match a specific wildcard.
To set wildcard pattern privileges for databases
- Locate the user whose privileges you would like to modify in Object Explorer and double-click it
- Switch to the Privileges tab
- Click the Add Wildcard Pattern Privileges button
- In the first dialog of the wizard, specify the wildcard pattern. The percent (%) sign represents one or more characters and the underscore (_) sign represents a single character. If you need to use a literal % or _, escape them using a back slash (\)
- In the next dialog, select the privileges that you would like to grant and Finish the wizard
|
NOTE: Setting database privileges using wildcards has a side effect. You are not able to revoke privileges to a particular database from the set of databases that match the wildcard. Consider the following example.
A user has been granted the SELECT privilege to all databases which match the "test\_%" wildcard. There are three such databases - test_tables, test_views and test_routines. In this situation, you are not able to revoke the privilege for any one of the three databases, such as test_tables. |
Proxy user privileges
Using proxies, users are able to use privileges of other users. In this operation, there are two sides:
- Proxy - the user that uses the privileges of some other user
- Proxied - the user whose privileges will be available to the original user
To add proxy user privileges
- Locate the user whose privileges you would like to modify in Object Explorer and double-click it
- Switch to the Privileges tab
- Click the Add Proxy User Privileges button
- In the wizard, specify the Proxied and the Proxy users and click Finish
Schema Compare
With Toad Edge, you can compare database objects of two databases/schemas. Based on the result, you can generate an HTML report or change scripts for both the source and the target to deploy changes immediately.
|
NOTE: Although possible, it is not recommended to compare two databases of different database versions (e.g. MySQL 5.6 and MySQL 5.7). |
To quickly compare two databases/schemas
- Select any two databases in Object Explorer, right-click and select Compare Schemas
To configure comparison settings before performing Schema Compare
- Click the Compare button on main toolbar and select New
- Specify the Source and Target schemas and select the desired Object Types and Comparison Rules
- Click Compare
This comparison process may take a while depending on the number of objects in both databases. Once it is completed, you can see all the differences between the source and the target and perform various actions.
Schema Compare consists of three parts:
- Overview Grid - Displays differences between databases. The differences can be resolved and marked as read/unread, important or excluded
- Comparison Area - Shows the specific differences in SQL code between the source/target database objects
- Outline View - Contains settings that determine which types of differences should be considered or ignored
Overview Grid
The main purpose of the grid is to resolve differences between database objects as a part of Schema Compare. You can also use other tools to filter the differences or mark them via context menu as:
- Read/Unread / - signifies whether you have already reviewed the difference or not
- Important / - simply marks the difference as important, has no influence on the result of the comparison
- Excluded - the difference is ignored and removed from the grid unless you enable the Show Excluded Items option
There are two main types of differences:
- Only in source/target - objects that are found only in one of the two compared databases
- Different - objects that are linked (same name or linked by user) but their SQL code is different
In case you want to compare an unlinked object in source with an unlinked object in target, you will have to map them.
To map an unlinked object to any other unlinked object
- In the grid, find an object that is not linked yet by looking in the Only in source/target nodes
- Notice the [map] text in the other database column. It is a drop down menu from which you can select the object that should be mapped to your original object
- After selecting the object, the two objects are now linked. You can unlink them again by clicking the unlink icon
Once you link objects as you wish, you can go through the differences and decide on how to resolve them.
To resolve differences between two database objects
- In the Overview Grid, locate any row that marks a difference between two objects
- Click on the arrow in the cell between the object names to specify how the difference is going to be resolved.
The following table lists all possible resolution actions and their meanings:
|
Change target |
The generated change script will change target so it matches source |
|
Change source |
The generated change script will change source so it matches target |
|
Change both |
(Different objects only) All differences between the two objects are marked as ignored. You can go through the specific differences one by one and resolve them in the Comparison Area |
|
Ignore |
The differences between the two objects are ignored and not included in the generated change script |
Overview Grid Toolbar
|
Recompare All |
Compares the source and the target again |
|
Save As |
Saves the comparison as a .compare file that can be loaded and displayed at any time |
|
Previous Unread Change |
Switches to the previous difference marked as unread () |
|
Next Unread Change |
Switches to the next difference marked as unread () |
|
Export Report |
Exports an HTML report detailing the detected differences |
|
Generate Script for Source |
Generates a change script for the source schema/database according to the resolution actions you have set. The script can be generated to clipboard, a worksheet or a file |
|
Generate Script for Target |
Generates a change script for the target schema/database according to the resolution actions you have set. The script can be generated to clipboard, a worksheet or a file |
|
Update Objects in Database |
(Repository only) Updates objects in database according to the resolution actions you have set. The drop down menu allows you to only generate a change script instead. The script can be generated to clipboard, a worksheet or a file |
|
Overwrite Files on File system |
(Repository only) Updates objects in file system repository according to the resolution actions you have set. The drop down menu allows you to only generate a change script instead. The script can be generated to clipboard, a worksheet or a file |
|
Filter by Action |
Displays only the differences that you have resolved by the selected action(s) |
|
Group by |
Groups the differences by the selected criteria |
|
Filter |
Filters the differences according to the input. It is possible to use wildcards (? and *) and regular expressions as well as filter by multiple comma separated values |
|
Show/Hide Excluded Items |
Shows/Hides differences marked as Excluded |
|
Hide Empty Nodes |
Hides object type nodes with no detected differences |
|
Export Settings |
Exports the Schema Compare settings and Detailed Settings which can be configured in the Outline View |