blob: 26d190a87ce05a9d0019c28615097d0b834af6c1 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
"""Update models to support storing the queries.
Revision ID: ad82a75afd82
Revises: f162a1dea4c4
Create Date: 2016-07-25 17:48:12.771103
"""
# revision identifiers, used by Alembic.
revision = "ad82a75afd82"
down_revision = "f162a1dea4c4"
import sqlalchemy as sa
from alembic import op
def upgrade():
op.create_table(
"query",
sa.Column("id", sa.Integer(), nullable=False),
sa.Column("client_id", sa.String(length=11), nullable=False),
sa.Column("database_id", sa.Integer(), nullable=False),
sa.Column("tmp_table_name", sa.String(length=256), nullable=True),
sa.Column("tab_name", sa.String(length=256), nullable=True),
sa.Column("sql_editor_id", sa.String(length=256), nullable=True),
sa.Column("user_id", sa.Integer(), nullable=True),
sa.Column("status", sa.String(length=16), nullable=True),
sa.Column("name", sa.String(length=256), nullable=True),
sa.Column("schema", sa.String(length=256), nullable=True),
sa.Column("sql", sa.Text(), nullable=True),
sa.Column("select_sql", sa.Text(), nullable=True),
sa.Column("executed_sql", sa.Text(), nullable=True),
sa.Column("limit", sa.Integer(), nullable=True),
sa.Column("limit_used", sa.Boolean(), nullable=True),
sa.Column("select_as_cta", sa.Boolean(), nullable=True),
sa.Column("select_as_cta_used", sa.Boolean(), nullable=True),
sa.Column("progress", sa.Integer(), nullable=True),
sa.Column("rows", sa.Integer(), nullable=True),
sa.Column("error_message", sa.Text(), nullable=True),
sa.Column("start_time", sa.Numeric(precision=20, scale=6), nullable=True),
sa.Column("changed_on", sa.DateTime(), nullable=True),
sa.Column("end_time", sa.Numeric(precision=20, scale=6), nullable=True),
sa.ForeignKeyConstraint(["database_id"], ["dbs.id"]),
sa.ForeignKeyConstraint(["user_id"], ["ab_user.id"]),
sa.PrimaryKeyConstraint("id"),
)
op.add_column(
"dbs", sa.Column("select_as_create_table_as", sa.Boolean(), nullable=True)
)
op.create_index(
op.f("ti_user_id_changed_on"), "query", ["user_id", "changed_on"], unique=False
)
def downgrade():
op.drop_table("query")
op.drop_column("dbs", "select_as_create_table_as")