Skip to content

Draft: Update dotenv variables plan limits

Current dotenv variables plan limits on installed from scratch self-hosted GitLab:

 default        |        5120 |               20
 bronze         |        5120 |               20
 silver         |        5120 |               20
 premium        |        5120 |               20
 gold           |        5120 |               20
 ultimate       |        5120 |               20
 ultimate_trial |        5120 |               20
 premium_trial  |        5120 |               20
 opensource     |        5120 |               20

Here we introduce a fix to reflect correct dotenv_variables sizes:

According issue: #411139 (closed)

Changelog: fixed

main: == [advisory_lock_connection] object_id: 228820, pg_backend_pid: 2939
main: == 20230619143957 UpdateDotenvVariablesPlanLimits: migrating ==================
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("free")
main:    -> 0.0000s
main: -- quote(50)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '50' FROM plans WHERE name = 'free' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0015s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("default")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'default' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0006s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("premium")
main:    -> 0.0000s
main: -- quote(100)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '100' FROM plans WHERE name = 'premium' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0006s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("ultimate")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'ultimate' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("ultimate_trial")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'ultimate_trial' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("premium_trial")
main:    -> 0.0000s
main: -- quote(100)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '100' FROM plans WHERE name = 'premium_trial' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("opensource")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'opensource' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: == 20230619143957 UpdateDotenvVariablesPlanLimits: migrated (0.0101s) =========

main: == [advisory_lock_connection] object_id: 228820, pg_backend_pid: 2939
ci: == [advisory_lock_connection] object_id: 229000, pg_backend_pid: 2941
ci: == [advisory_lock_connection] object_id: 229000, pg_backend_pid: 2941
bin/rails db:rollback:main
main: == [advisory_lock_connection] object_id: 228620, pg_backend_pid: 2358
main: == 20230619143957 UpdateDotenvVariablesPlanLimits: reverting ==================
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("free")
main:    -> 0.0000s
main: -- quote(50)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '50' FROM plans WHERE name = 'free' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0018s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("default")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'default' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0009s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("premium")
main:    -> 0.0000s
main: -- quote(100)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '100' FROM plans WHERE name = 'premium' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0006s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("ultimate")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'ultimate' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("ultimate_trial")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'ultimate_trial' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("premium_trial")
main:    -> 0.0000s
main: -- quote(100)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '100' FROM plans WHERE name = 'premium_trial' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: -- quote_column_name("dotenv_variables")
main:    -> 0.0000s
main: -- quote("opensource")
main:    -> 0.0000s
main: -- quote(150)
main:    -> 0.0000s
main: -- execute("INSERT INTO plan_limits (plan_id, \"dotenv_variables\")\nSELECT id, '150' FROM plans WHERE name = 'opensource' LIMIT 1\nON CONFLICT (plan_id) DO UPDATE SET \"dotenv_variables\" = EXCLUDED.\"dotenv_variables\";\n")
main:    -> 0.0005s
main: == 20230619143957 UpdateDotenvVariablesPlanLimits: reverted (0.0113s) =========

main: == [advisory_lock_connection] object_id: 228620, pg_backend_pid: 2358
Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports