Merge "Fix migration set_length_of_description_field_metering"
This commit is contained in:
commit
cd7c6e6e71
@ -51,3 +51,18 @@ def alter_enum(table, column, enum_type, nullable):
|
|||||||
else:
|
else:
|
||||||
op.alter_column(table, column, type_=enum_type,
|
op.alter_column(table, column, type_=enum_type,
|
||||||
existing_nullable=nullable)
|
existing_nullable=nullable)
|
||||||
|
|
||||||
|
|
||||||
|
def create_table_if_not_exist_psql(table_name, values):
|
||||||
|
if op.get_bind().engine.dialect.server_version_info < (9, 1, 0):
|
||||||
|
op.execute("CREATE LANGUAGE plpgsql")
|
||||||
|
op.execute("CREATE OR REPLACE FUNCTION execute(TEXT) RETURNS VOID AS $$"
|
||||||
|
"BEGIN EXECUTE $1; END;"
|
||||||
|
"$$ LANGUAGE plpgsql STRICT;")
|
||||||
|
op.execute("CREATE OR REPLACE FUNCTION table_exist(TEXT) RETURNS bool as "
|
||||||
|
"$$ SELECT exists(select 1 from pg_class where relname=$1);"
|
||||||
|
"$$ language sql STRICT;")
|
||||||
|
op.execute("SELECT execute($$CREATE TABLE %(name)s %(columns)s $$) "
|
||||||
|
"WHERE NOT table_exist(%(name)r);" %
|
||||||
|
{'name': table_name,
|
||||||
|
'columns': values})
|
@ -41,11 +41,19 @@ def upgrade(active_plugins=None, options=None):
|
|||||||
if not migration.should_run(active_plugins, migration_for_plugins):
|
if not migration.should_run(active_plugins, migration_for_plugins):
|
||||||
return
|
return
|
||||||
|
|
||||||
op.execute("CREATE TABLE IF NOT EXISTS meteringlabels( "
|
if op.get_bind().engine.dialect.name == 'postgresql':
|
||||||
"tenant_id VARCHAR(255) NULL, "
|
migration.create_table_if_not_exist_psql(
|
||||||
"id VARCHAR(36) PRIMARY KEY NOT NULL, "
|
'meteringlabels',
|
||||||
"name VARCHAR(255) NULL, "
|
"(tenant_id VARCHAR(255) NULL, "
|
||||||
"description VARCHAR(255) NULL)")
|
"id VARCHAR(36) PRIMARY KEY NOT NULL, "
|
||||||
|
"name VARCHAR(255) NULL, "
|
||||||
|
"description VARCHAR(255) NULL)")
|
||||||
|
else:
|
||||||
|
op.execute("CREATE TABLE IF NOT EXISTS meteringlabels( "
|
||||||
|
"tenant_id VARCHAR(255) NULL, "
|
||||||
|
"id VARCHAR(36) PRIMARY KEY NOT NULL, "
|
||||||
|
"name VARCHAR(255) NULL, "
|
||||||
|
"description VARCHAR(255) NULL)")
|
||||||
|
|
||||||
op.alter_column('meteringlabels', 'description', type_=sa.String(1024),
|
op.alter_column('meteringlabels', 'description', type_=sa.String(1024),
|
||||||
existing_nullable=True)
|
existing_nullable=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user