Display only some tables in database dashboard

Two questions:

I want to create a database connection which only contains some tables from the database. I'm using SparkSQL.

For example my database 'business' has two tables ['clients', 'employees'] and I want to have two database connections named 'clients' and 'employees' each containing just one table.

Is there a way to do it easily?

What I've done is to use 'Database name' as a table name in the backend and filter on it but this does not work - every hour Metabase does a sync with random use:database parameter and I end up with 'clients' table in 'employees' database at random.

Is there a way to force Metabase to use correct database name? (when I trigger the sync manually from admin tab it uses the correct name)

Use a different user account for each connection. Set the security on the database to only allow one table to be viewed for each user account.

Thank you! This would work but unfortunately my business people tell me that that wouldn't be the best UX for our clients. Can I do it somehow from the backend?

You can hide the tables in Metabase.

Is there a way to do it automatically during dataset addition? Based on some filtering rule

You could use the API, but I thought we were only talking about 2 tables?
You have 3 choices:

  1. Database security
  2. Hide the tables in the data model
  3. Spends hours working out a way to do it in the API.