mirror of https://github.com/jumpserver/jumpserver
46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
|
"""
|
||
|
-- This script is necessary to add the 'release_assets' column to the 'xpack_syncinstancetask' table.
|
||
|
-- After upgrading to the latest version 3, upgrading to version 4 is not an issue.
|
||
|
--
|
||
|
-- However, if you perform a fresh installation of versions 4.0, 4.1, 4.2, or 4.3,
|
||
|
-- upgrading to version 4.4 or later may cause issues (this script must be executed to add the column).
|
||
|
--
|
||
|
-- Fresh installations of version 4.4 and later versions will not encounter these issues.
|
||
|
"""
|
||
|
|
||
|
import os
|
||
|
import sys
|
||
|
import django
|
||
|
|
||
|
from django.db import connection
|
||
|
|
||
|
|
||
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||
|
sys.path.append(os.path.join(BASE_DIR, 'apps'))
|
||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'jumpserver.settings')
|
||
|
django.setup()
|
||
|
|
||
|
mysql_statement = """
|
||
|
ALTER TABLE xpack_syncinstancetask
|
||
|
ADD COLUMN release_assets TINYINT(1) NOT NULL;
|
||
|
"""
|
||
|
|
||
|
pgsql_statement = """
|
||
|
ALTER TABLE xpack_syncinstancetask
|
||
|
ADD COLUMN release_assets BOOLEAN NOT NULL DEFAULT FALSE;
|
||
|
"""
|
||
|
|
||
|
table_name = 'xpack_syncinstancetask'
|
||
|
with connection.cursor() as cursor:
|
||
|
table_description = connection.introspection.get_table_description(cursor, table_name)
|
||
|
existing_columns = [column.name for column in table_description]
|
||
|
|
||
|
if 'release_assets' not in existing_columns:
|
||
|
with connection.cursor() as cursor:
|
||
|
if connection.vendor == 'postgresql':
|
||
|
cursor.execute(pgsql_statement)
|
||
|
else:
|
||
|
cursor.execute(mysql_statement)
|
||
|
|
||
|
print("Column added successfully.")
|