From 798b493f3a1bf0e36c1d95a3b4b46f67baf08ee0 Mon Sep 17 00:00:00 2001 From: John Bodley <4567245+john-bodley@users.noreply.github.com> Date: Wed, 30 Aug 2023 04:42:23 -0700 Subject: [PATCH] docs: Update UPDATING.md regarding potential breaking change to `ab_user.email` column (#25115) Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com> --- UPDATING.md | 1 + .../installation/configuring-superset.mdx | 23 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/UPDATING.md b/UPDATING.md index 19c60a19b74..d11a78b29f7 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -32,6 +32,7 @@ assists people when migrating to a new version. ## 3.0.0 +- [25053](https://github.com/apache/superset/pull/25053): Extends the `ab_user.email` column from 64 to 320 characters which has an associated unique key constraint. This will problematic for MySQL metadata databases which use the InnoDB storage engine with the `innodb_large_prefix` parameter disabled as the key prefix limit is 767 bytes. Enabling said parameter and ensuring that the table uses either the use the `DYNAMIC` or `COMPRESSED` row format should remedy the problem. See [here](https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html) for more details. - [24911](https://github.com/apache/superset/pull/24911): Changes the column type from `TEXT` to `MediumText` in table `logs`, potentially requiring a table lock on MySQL dbs or taking some time to complete on large deployments. - [24939](https://github.com/apache/superset/pull/24939): Augments the foreign key constraints for the `embedded_dashboards` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dashboard is deleted. Scheduled downtime may be advised. - [24938](https://github.com/apache/superset/pull/24938): Augments the foreign key constraints for the `dashboard_slices` table to include an explicit CASCADE ON DELETE to ensure the relevant records are deleted when a dashboard or slice is deleted. Scheduled downtime may be advised. diff --git a/docs/docs/installation/configuring-superset.mdx b/docs/docs/installation/configuring-superset.mdx index 66022521bf6..9cb3aaefacc 100644 --- a/docs/docs/installation/configuring-superset.mdx +++ b/docs/docs/installation/configuring-superset.mdx @@ -13,6 +13,7 @@ To configure your application, you need to create a file `superset_config.py` an `PYTHONPATH`. If your application was installed using docker-compose an alternative configuration is required. See [https://github.com/apache/superset/tree/master/docker#readme](https://github.com/apache/superset/tree/master/docker#readme) for details. The following is an example of just a few of the parameters you can set in your `superset_config.py` file: + ``` # Superset specific config ROW_LIMIT = 5000 @@ -72,7 +73,7 @@ WTF_CSRF_EXEMPT_LIST = [‘’] #### Adding an initial SECRET_KEY -Superset requires a user-specified SECRET_KEY to start up. This requirement was [added in version 2.1.0 to force secure configurations](https://preset.io/blog/superset-security-update-default-secret_key-vulnerability/). Add a strong SECRET_KEY to your `superset_config.py` file like: +Superset requires a user-specified SECRET_KEY to start up. This requirement was [added in version 2.1.0 to force secure configurations](https://preset.io/blog/superset-security-update-default-secret_key-vulnerability/). Add a strong SECRET_KEY to your `superset_config.py` file like: ```python SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY' @@ -83,7 +84,7 @@ You can generate a strong secure key with `openssl rand -base64 42`. #### Rotating to a newer SECRET_KEY If you wish to change your existing SECRET_KEY, add the existing SECRET_KEY to your `superset_config.py` file as -`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these +`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these commands - if running Superset with Docker, execute from within the Superset application container: ```python @@ -103,23 +104,21 @@ database engine on a separate host or container. Superset supports the following database engines/versions: -| Database Engine | Supported Versions | -| --------------------------------------------------------- | --------------------------------- | -| [PostgreSQL](https://www.postgresql.org/) | 10.X, 11.X, 12.X, 13.X, 14.X | -| [MySQL](https://www.mysql.com/) | 5.X | - +| Database Engine | Supported Versions | +| ----------------------------------------- | ---------------------------------- | +| [PostgreSQL](https://www.postgresql.org/) | 10.X, 11.X, 12.X, 13.X, 14.X, 15.X | +| [MySQL](https://www.mysql.com/) | 5.7, 8.X | Use the following database drivers and connection strings: -| Database | PyPI package | Connection String | -| ----------------------------------------- | --------------------------------- | ------------------------------------------------------------------------ | -| [PostgreSQL](https://www.postgresql.org/) | `pip install psycopg2` | `postgresql://:@/` | -| [MySQL](https://www.mysql.com/) | `pip install mysqlclient` | `mysql://:@/` | +| Database | PyPI package | Connection String | +| ----------------------------------------- | ------------------------- | ---------------------------------------------------------------------- | +| [PostgreSQL](https://www.postgresql.org/) | `pip install psycopg2` | `postgresql://:@/` | +| [MySQL](https://www.mysql.com/) | `pip install mysqlclient` | `mysql://:@/` | To configure Superset metastore set `SQLALCHEMY_DATABASE_URI` config key on `superset_config` to the appropriate connection string. - ### Running on a WSGI HTTP Server While you can run Superset on NGINX or Apache, we recommend using Gunicorn in async mode. This