From 2056558ea8dab8ab1ff88bf726ebb0f6dbc85cb2 Mon Sep 17 00:00:00 2001 From: DaShMore Date: Thu, 2 Oct 2025 19:11:36 +0300 Subject: [PATCH] clean alembic --- .../versions/01691d3fa96a_initial_tables.py | 1533 ----------------- .../603af861b193_remove_contact_table.py | 41 - alembic/versions/b6b5b3356625_init_db.py | 95 + .../c151f5abb66d_add_contacts_and_address.py | 60 - config/settings.toml | 5 +- 5 files changed, 99 insertions(+), 1635 deletions(-) delete mode 100644 alembic/versions/01691d3fa96a_initial_tables.py delete mode 100644 alembic/versions/603af861b193_remove_contact_table.py create mode 100644 alembic/versions/b6b5b3356625_init_db.py delete mode 100644 alembic/versions/c151f5abb66d_add_contacts_and_address.py diff --git a/alembic/versions/01691d3fa96a_initial_tables.py b/alembic/versions/01691d3fa96a_initial_tables.py deleted file mode 100644 index 2f88223..0000000 --- a/alembic/versions/01691d3fa96a_initial_tables.py +++ /dev/null @@ -1,1533 +0,0 @@ -"""Initial tables - -Revision ID: 01691d3fa96a -Revises: -Create Date: 2025-09-30 22:56:25.692443 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa -from sqlalchemy.dialects import postgresql - -# revision identifiers, used by Alembic. -revision: str = '01691d3fa96a' -down_revision: Union[str, Sequence[str], None] = None -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('course', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('title', sa.String(), nullable=False), - sa.Column('description', sa.String(), nullable=True), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('certificate', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('course_id', sa.Integer(), nullable=False), - sa.Column('date', sa.DateTime(), nullable=False), - sa.ForeignKeyConstraint(['course_id'], ['course.id'], ), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), - sa.PrimaryKeyConstraint('id'), - sa.UniqueConstraint('user_id', 'course_id', name='uq_user_course') - ) - op.drop_index(op.f('nc_mc_tokens_context'), table_name='nc_mcp_tokens') - op.drop_table('nc_mcp_tokens') - op.drop_index(op.f('nc_store_key_index'), table_name='nc_store') - op.drop_table('nc_store') - op.drop_index(op.f('nc_api_tokens_fk_sso_client_id_index'), table_name='nc_api_tokens') - op.drop_index(op.f('nc_api_tokens_fk_user_id_index'), table_name='nc_api_tokens') - op.drop_table('nc_api_tokens') - op.drop_index(op.f('nc_base_users_v2_base_id_index'), table_name='nc_base_users_v2') - op.drop_index(op.f('nc_base_users_v2_invited_by_index'), table_name='nc_base_users_v2') - op.drop_index(op.f('nc_project_users_v2_fk_user_id_index'), table_name='nc_base_users_v2') - op.drop_table('nc_base_users_v2') - op.drop_index(op.f('nc_user_refresh_tokens_expires_at_index'), table_name='nc_user_refresh_tokens') - op.drop_index(op.f('nc_user_refresh_tokens_fk_user_id_index'), table_name='nc_user_refresh_tokens') - op.drop_index(op.f('nc_user_refresh_tokens_token_index'), table_name='nc_user_refresh_tokens') - op.drop_table('nc_user_refresh_tokens') - op.drop_index(op.f('notification_created_at_index'), table_name='notification') - op.drop_index(op.f('notification_fk_user_id_index'), table_name='notification') - op.drop_table('notification') - op.drop_index(op.f('nc_models_v2_base_id_index'), table_name='nc_models_v2') - op.drop_index(op.f('nc_models_v2_source_id_index'), table_name='nc_models_v2') - op.drop_index(op.f('nc_models_v2_type_index'), table_name='nc_models_v2') - op.drop_index(op.f('nc_models_v2_uuid_index'), table_name='nc_models_v2') - op.drop_table('nc_models_v2') - op.drop_index(op.f('nc_permission_subjects_context'), table_name='nc_permission_subjects') - op.drop_table('nc_permission_subjects') - op.drop_table('xc_knex_migrations') - op.drop_index(op.f('nc_row_color_conditions_fk_view_id_index'), table_name='nc_row_color_conditions') - op.drop_index(op.f('nc_row_color_conditions_fk_workspace_id_base_id_index'), table_name='nc_row_color_conditions') - op.drop_table('nc_row_color_conditions') - op.drop_index(op.f('nc_sync_logs_v2_base_id_index'), table_name='nc_sync_logs_v2') - op.drop_table('nc_sync_logs_v2') - op.drop_table('nc_shared_bases') - op.drop_index(op.f('nc_form_view_columns_v2_base_id_index'), table_name='nc_form_view_columns_v2') - op.drop_index(op.f('nc_form_view_columns_v2_fk_column_id_index'), table_name='nc_form_view_columns_v2') - op.drop_index(op.f('nc_form_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_form_view_columns_v2') - op.drop_index(op.f('nc_form_view_columns_v2_fk_view_id_index'), table_name='nc_form_view_columns_v2') - op.drop_table('nc_form_view_columns_v2') - op.drop_index(op.f('nc_hook_logs_v2_base_id_index'), table_name='nc_hook_logs_v2') - op.drop_table('nc_hook_logs_v2') - op.drop_index(op.f('nc_integrations_v2_created_by_index'), table_name='nc_integrations_v2') - op.drop_index(op.f('nc_integrations_v2_type_index'), table_name='nc_integrations_v2') - op.drop_table('nc_integrations_v2') - op.drop_index(op.f('nc_user_comment_notifications_preference_base_id_index'), table_name='nc_user_comment_notifications_preference') - op.drop_index(op.f('user_comments_preference_index'), table_name='nc_user_comment_notifications_preference') - op.drop_table('nc_user_comment_notifications_preference') - op.drop_index(op.f('nc_integrations_store_v2_fk_integration_id_index'), table_name='nc_integrations_store_v2') - op.drop_table('nc_integrations_store_v2') - op.drop_index(op.f('nc_disabled_models_for_role_v2_base_id_index'), table_name='nc_disabled_models_for_role_v2') - op.drop_index(op.f('nc_disabled_models_for_role_v2_fk_view_id_index'), table_name='nc_disabled_models_for_role_v2') - op.drop_table('nc_disabled_models_for_role_v2') - op.drop_index(op.f('nc_fr_context'), table_name='nc_file_references') - op.drop_table('nc_file_references') - op.drop_index(op.f('nc_col_relations_v2_base_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_child_column_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_column_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_mm_child_column_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_mm_model_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_mm_parent_column_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_parent_column_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_related_model_id_index'), table_name='nc_col_relations_v2') - op.drop_index(op.f('nc_col_relations_v2_fk_target_view_id_index'), table_name='nc_col_relations_v2') - op.drop_table('nc_col_relations_v2') - op.drop_index(op.f('nc_columns_v2_base_id_index'), table_name='nc_columns_v2') - op.drop_index(op.f('nc_columns_v2_fk_model_id_index'), table_name='nc_columns_v2') - op.drop_table('nc_columns_v2') - op.drop_table('nc_teams_v2') - op.drop_index(op.f('nc_form_view_v2_base_id_index'), table_name='nc_form_view_v2') - op.drop_index(op.f('nc_form_view_v2_fk_view_id_index'), table_name='nc_form_view_v2') - op.drop_table('nc_form_view_v2') - op.drop_index(op.f('nc_col_lookup_v2_base_id_index'), table_name='nc_col_lookup_v2') - op.drop_index(op.f('nc_col_lookup_v2_fk_column_id_index'), table_name='nc_col_lookup_v2') - op.drop_index(op.f('nc_col_lookup_v2_fk_lookup_column_id_index'), table_name='nc_col_lookup_v2') - op.drop_index(op.f('nc_col_lookup_v2_fk_relation_column_id_index'), table_name='nc_col_lookup_v2') - op.drop_table('nc_col_lookup_v2') - op.drop_index(op.f('nc_audit_v2_fk_workspace_idx'), table_name='nc_audit_v2') - op.drop_index(op.f('nc_audit_v2_old_id_index'), table_name='nc_audit_v2') - op.drop_index(op.f('nc_audit_v2_tenant_idx'), table_name='nc_audit_v2') - op.drop_index(op.f('nc_record_audit_v2_tenant_idx'), table_name='nc_audit_v2') - op.drop_table('nc_audit_v2') - op.drop_index(op.f('nc_gallery_view_columns_v2_base_id_index'), table_name='nc_gallery_view_columns_v2') - op.drop_index(op.f('nc_gallery_view_columns_v2_fk_column_id_index'), table_name='nc_gallery_view_columns_v2') - op.drop_index(op.f('nc_gallery_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_gallery_view_columns_v2') - op.drop_index(op.f('nc_gallery_view_columns_v2_fk_view_id_index'), table_name='nc_gallery_view_columns_v2') - op.drop_table('nc_gallery_view_columns_v2') - op.drop_table('xc_knex_migrationsv2') - op.drop_index(op.f('nc_comments_base_id_index'), table_name='nc_comments') - op.drop_index(op.f('nc_comments_row_id_fk_model_id_index'), table_name='nc_comments') - op.drop_table('nc_comments') - op.drop_table('xc_knex_migrations_lock') - op.drop_index(op.f('nc_sync_configs_context'), table_name='nc_sync_configs') - op.drop_index(op.f('nc_sync_configs_parent_idx'), table_name='nc_sync_configs') - op.drop_index(op.f('sync_configs_integration_model'), table_name='nc_sync_configs') - op.drop_table('nc_sync_configs') - op.drop_table('nc_team_users_v2') - op.drop_index(op.f('nc_kanban_view_v2_base_id_index'), table_name='nc_kanban_view_v2') - op.drop_index(op.f('nc_kanban_view_v2_fk_grp_col_id_index'), table_name='nc_kanban_view_v2') - op.drop_index(op.f('nc_kanban_view_v2_fk_view_id_index'), table_name='nc_kanban_view_v2') - op.drop_table('nc_kanban_view_v2') - op.drop_index(op.f('nc_data_reflection_fk_workspace_id_index'), table_name='nc_data_reflection') - op.drop_table('nc_data_reflection') - op.drop_index(op.f('nc_extensions_base_id_index'), table_name='nc_extensions') - op.drop_table('nc_extensions') - op.drop_index(op.f('nc_hooks_v2_base_id_index'), table_name='nc_hooks_v2') - op.drop_index(op.f('nc_hooks_v2_fk_model_id_index'), table_name='nc_hooks_v2') - op.drop_table('nc_hooks_v2') - op.drop_index(op.f('nc_filter_exp_v2_base_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_column_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_hook_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_link_col_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_parent_column_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_parent_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_value_col_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_view_id_index'), table_name='nc_filter_exp_v2') - op.drop_index(op.f('nc_filter_exp_v2_fk_widget_id_index'), table_name='nc_filter_exp_v2') - op.drop_table('nc_filter_exp_v2') - op.drop_index(op.f('nc_sort_v2_base_id_index'), table_name='nc_sort_v2') - op.drop_index(op.f('nc_sort_v2_fk_column_id_index'), table_name='nc_sort_v2') - op.drop_index(op.f('nc_sort_v2_fk_view_id_index'), table_name='nc_sort_v2') - op.drop_table('nc_sort_v2') - op.drop_index(op.f('nc_col_qrcode_v2_base_id_index'), table_name='nc_col_qrcode_v2') - op.drop_index(op.f('nc_col_qrcode_v2_fk_column_id_index'), table_name='nc_col_qrcode_v2') - op.drop_table('nc_col_qrcode_v2') - op.drop_index(op.f('nc_map_view_v2_base_id_index'), table_name='nc_map_view_v2') - op.drop_index(op.f('nc_map_view_v2_fk_geo_data_col_id_index'), table_name='nc_map_view_v2') - op.drop_index(op.f('nc_map_view_v2_fk_view_id_index'), table_name='nc_map_view_v2') - op.drop_table('nc_map_view_v2') - op.drop_index(op.f('nc_audit_v2_base_id_index'), table_name='nc_audit_v2_old') - op.drop_index(op.f('nc_audit_v2_fk_model_id_index'), table_name='nc_audit_v2_old') - op.drop_index(op.f('nc_audit_v2_row_id_index'), table_name='nc_audit_v2_old') - op.drop_table('nc_audit_v2_old') - op.drop_index(op.f('nc_grid_view_v2_base_id_index'), table_name='nc_grid_view_v2') - op.drop_index(op.f('nc_grid_view_v2_fk_view_id_index'), table_name='nc_grid_view_v2') - op.drop_table('nc_grid_view_v2') - op.drop_index(op.f('nc_map_view_columns_v2_base_id_index'), table_name='nc_map_view_columns_v2') - op.drop_index(op.f('nc_map_view_columns_v2_fk_column_id_index'), table_name='nc_map_view_columns_v2') - op.drop_index(op.f('nc_map_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_map_view_columns_v2') - op.drop_index(op.f('nc_map_view_columns_v2_fk_view_id_index'), table_name='nc_map_view_columns_v2') - op.drop_table('nc_map_view_columns_v2') - op.drop_index(op.f('nc_kanban_view_columns_v2_base_id_index'), table_name='nc_kanban_view_columns_v2') - op.drop_index(op.f('nc_kanban_view_columns_v2_fk_column_id_index'), table_name='nc_kanban_view_columns_v2') - op.drop_index(op.f('nc_kanban_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_kanban_view_columns_v2') - op.drop_index(op.f('nc_kanban_view_columns_v2_fk_view_id_index'), table_name='nc_kanban_view_columns_v2') - op.drop_table('nc_kanban_view_columns_v2') - op.drop_index(op.f('nc_sync_source_v2_base_id_index'), table_name='nc_sync_source_v2') - op.drop_index(op.f('nc_sync_source_v2_source_id_index'), table_name='nc_sync_source_v2') - op.drop_table('nc_sync_source_v2') - op.drop_index(op.f('nc_calendar_view_columns_v2_base_id_index'), table_name='nc_calendar_view_columns_v2') - op.drop_index(op.f('nc_calendar_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_calendar_view_columns_v2') - op.drop_table('nc_calendar_view_columns_v2') - op.drop_index(op.f('nc_permissions_context'), table_name='nc_permissions') - op.drop_index(op.f('nc_permissions_entity'), table_name='nc_permissions') - op.drop_table('nc_permissions') - op.drop_index(op.f('nc_calendar_view_range_v2_base_id_index'), table_name='nc_calendar_view_range_v2') - op.drop_table('nc_calendar_view_range_v2') - op.drop_index(op.f('nc_comment_reactions_base_id_index'), table_name='nc_comment_reactions') - op.drop_index(op.f('nc_comment_reactions_comment_id_index'), table_name='nc_comment_reactions') - op.drop_index(op.f('nc_comment_reactions_row_id_index'), table_name='nc_comment_reactions') - op.drop_table('nc_comment_reactions') - op.drop_table('nc_orgs_v2') - op.drop_index(op.f('nc_col_button_context'), table_name='nc_col_button_v2') - op.drop_index(op.f('nc_col_button_v2_fk_column_id_index'), table_name='nc_col_button_v2') - op.drop_table('nc_col_button_v2') - op.drop_index(op.f('nc_sync_mappings_context'), table_name='nc_sync_mappings') - op.drop_index(op.f('nc_sync_mappings_sync_config_idx'), table_name='nc_sync_mappings') - op.drop_table('nc_sync_mappings') - op.drop_index(op.f('nc_sources_v2_base_id_index'), table_name='nc_sources_v2') - op.drop_index(op.f('nc_sources_v2_fk_integration_id_index'), table_name='nc_sources_v2') - op.drop_table('nc_sources_v2') - op.drop_index(op.f('nc_calendar_view_v2_base_id_index'), table_name='nc_calendar_view_v2') - op.drop_table('nc_calendar_view_v2') - op.drop_index(op.f('nc_dashboards_context'), table_name='nc_dashboards_v2') - op.drop_index(op.f('share_uuid_idx'), table_name='nc_dashboards_v2') - op.drop_table('nc_dashboards_v2') - op.drop_index(op.f('nc_col_barcode_v2_base_id_index'), table_name='nc_col_barcode_v2') - op.drop_index(op.f('nc_col_barcode_v2_fk_column_id_index'), table_name='nc_col_barcode_v2') - op.drop_table('nc_col_barcode_v2') - op.drop_table('nc_hook_trigger_fields') - op.drop_index(op.f('nc_grid_view_columns_v2_base_id_index'), table_name='nc_grid_view_columns_v2') - op.drop_index(op.f('nc_grid_view_columns_v2_fk_column_id_index'), table_name='nc_grid_view_columns_v2') - op.drop_index(op.f('nc_grid_view_columns_v2_fk_view_id_fk_column_id_index'), table_name='nc_grid_view_columns_v2') - op.drop_index(op.f('nc_grid_view_columns_v2_fk_view_id_index'), table_name='nc_grid_view_columns_v2') - op.drop_table('nc_grid_view_columns_v2') - op.drop_table('nc_plugins_v2') - op.drop_index(op.f('nc_widgets_context'), table_name='nc_widgets_v2') - op.drop_index(op.f('nc_widgets_dashboard_idx'), table_name='nc_widgets_v2') - op.drop_table('nc_widgets_v2') - op.drop_index(op.f('nc_col_select_options_v2_base_id_index'), table_name='nc_col_select_options_v2') - op.drop_index(op.f('nc_col_select_options_v2_fk_column_id_index'), table_name='nc_col_select_options_v2') - op.drop_table('nc_col_select_options_v2') - op.drop_index(op.f('nc_gallery_view_v2_base_id_index'), table_name='nc_gallery_view_v2') - op.drop_index(op.f('nc_gallery_view_v2_fk_view_id_index'), table_name='nc_gallery_view_v2') - op.drop_table('nc_gallery_view_v2') - op.drop_table('nc_bases_v2') - op.drop_index(op.f('nc_users_v2_email_index'), table_name='nc_users_v2') - op.drop_table('nc_users_v2') - op.drop_index(op.f('nc_shared_views_v2_fk_view_id_index'), table_name='nc_shared_views_v2') - op.drop_table('nc_shared_views_v2') - op.drop_index(op.f('nc_col_long_text_context'), table_name='nc_col_long_text_v2') - op.drop_index(op.f('nc_col_long_text_v2_fk_column_id_index'), table_name='nc_col_long_text_v2') - op.drop_table('nc_col_long_text_v2') - op.drop_table('xc_knex_migrationsv2_lock') - op.drop_index(op.f('nc_col_formula_v2_base_id_index'), table_name='nc_col_formula_v2') - op.drop_index(op.f('nc_col_formula_v2_fk_column_id_index'), table_name='nc_col_formula_v2') - op.drop_table('nc_col_formula_v2') - op.drop_index(op.f('nc_views_v2_base_id_index'), table_name='nc_views_v2') - op.drop_index(op.f('nc_views_v2_created_by_index'), table_name='nc_views_v2') - op.drop_index(op.f('nc_views_v2_fk_model_id_index'), table_name='nc_views_v2') - op.drop_index(op.f('nc_views_v2_owned_by_index'), table_name='nc_views_v2') - op.drop_table('nc_views_v2') - op.drop_index(op.f('nc_col_rollup_v2_base_id_index'), table_name='nc_col_rollup_v2') - op.drop_index(op.f('nc_col_rollup_v2_fk_column_id_index'), table_name='nc_col_rollup_v2') - op.drop_index(op.f('nc_col_rollup_v2_fk_relation_column_id_index'), table_name='nc_col_rollup_v2') - op.drop_index(op.f('nc_col_rollup_v2_fk_rollup_column_id_index'), table_name='nc_col_rollup_v2') - op.drop_table('nc_col_rollup_v2') - op.drop_index(op.f('nc_jobs_context'), table_name='nc_jobs') - op.drop_table('nc_jobs') - op.add_column('event', sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False)) - op.add_column('event', sa.Column('is_active', sa.Boolean(), nullable=False)) - op.alter_column('event', 'start_date', - existing_type=sa.DATE(), - type_=sa.DateTime(), - existing_nullable=True) - op.alter_column('event', 'end_date', - existing_type=sa.DATE(), - type_=sa.DateTime(), - existing_nullable=True) - op.add_column('user', sa.Column('address', sa.String(), nullable=True)) - op.add_column('user_event', sa.Column('user_id', sa.Integer(), nullable=False)) - op.add_column('user_event', sa.Column('event_id', sa.Integer(), nullable=False)) - op.create_unique_constraint('uq_user_event', 'user_event', ['user_id', 'event_id']) - op.drop_constraint(op.f('user_event_user_fkey'), 'user_event', type_='foreignkey') - op.drop_constraint(op.f('user_event_event_fkey'), 'user_event', type_='foreignkey') - op.create_foreign_key(None, 'user_event', 'user', ['user_id'], ['id']) - op.create_foreign_key(None, 'user_event', 'event', ['event_id'], ['id']) - op.drop_column('user_event', 'user') - op.drop_column('user_event', 'event') - # ### end Alembic commands ### - - -def downgrade() -> None: - """Downgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.add_column('user_event', sa.Column('event', sa.INTEGER(), autoincrement=False, nullable=False)) - op.add_column('user_event', sa.Column('user', sa.INTEGER(), autoincrement=False, nullable=False)) - op.drop_constraint(None, 'user_event', type_='foreignkey') - op.drop_constraint(None, 'user_event', type_='foreignkey') - op.create_foreign_key(op.f('user_event_event_fkey'), 'user_event', 'event', ['event'], ['id']) - op.create_foreign_key(op.f('user_event_user_fkey'), 'user_event', 'user', ['user'], ['id']) - op.drop_constraint('uq_user_event', 'user_event', type_='unique') - op.drop_column('user_event', 'event_id') - op.drop_column('user_event', 'user_id') - op.drop_column('user', 'address') - op.alter_column('event', 'end_date', - existing_type=sa.DateTime(), - type_=sa.DATE(), - existing_nullable=True) - op.alter_column('event', 'start_date', - existing_type=sa.DateTime(), - type_=sa.DATE(), - existing_nullable=True) - op.drop_column('event', 'is_active') - op.drop_column('event', 'created_at') - op.create_table('nc_jobs', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('job', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('result', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_jobs_pkey')) - ) - op.create_index(op.f('nc_jobs_context'), 'nc_jobs', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_col_rollup_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_relation_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_rollup_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('rollup_function', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_rollup_v2_pkey')) - ) - op.create_index(op.f('nc_col_rollup_v2_fk_rollup_column_id_index'), 'nc_col_rollup_v2', ['fk_rollup_column_id'], unique=False) - op.create_index(op.f('nc_col_rollup_v2_fk_relation_column_id_index'), 'nc_col_rollup_v2', ['fk_relation_column_id'], unique=False) - op.create_index(op.f('nc_col_rollup_v2_fk_column_id_index'), 'nc_col_rollup_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_rollup_v2_base_id_index'), 'nc_col_rollup_v2', ['base_id'], unique=False) - op.create_table('nc_views_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('type', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('is_default', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('show_system_fields', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('lock_type', sa.VARCHAR(length=255), server_default=sa.text("'collaborative'::character varying"), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('owned_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('row_coloring_mode', sa.VARCHAR(length=10), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_views_v2_pkey')) - ) - op.create_index(op.f('nc_views_v2_owned_by_index'), 'nc_views_v2', ['owned_by'], unique=False) - op.create_index(op.f('nc_views_v2_fk_model_id_index'), 'nc_views_v2', ['fk_model_id'], unique=False) - op.create_index(op.f('nc_views_v2_created_by_index'), 'nc_views_v2', ['created_by'], unique=False) - op.create_index(op.f('nc_views_v2_base_id_index'), 'nc_views_v2', ['base_id'], unique=False) - op.create_table('nc_col_formula_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('formula', sa.TEXT(), autoincrement=False, nullable=False), - sa.Column('formula_raw', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('error', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('parsed_tree', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_formula_v2_pkey')) - ) - op.create_index(op.f('nc_col_formula_v2_fk_column_id_index'), 'nc_col_formula_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_formula_v2_base_id_index'), 'nc_col_formula_v2', ['base_id'], unique=False) - op.create_table('xc_knex_migrationsv2_lock', - sa.Column('index', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('is_locked', sa.INTEGER(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('index', name=op.f('xc_knex_migrationsv2_lock_pkey')) - ) - op.create_table('nc_col_long_text_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_integration_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('model', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('prompt', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('prompt_raw', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('error', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_long_text_v2_pkey')) - ) - op.create_index(op.f('nc_col_long_text_v2_fk_column_id_index'), 'nc_col_long_text_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_long_text_context'), 'nc_col_long_text_v2', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_shared_views_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('query_params', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('view_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show_all_fields', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('allow_copy', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_shared_views_v2_pkey')) - ) - op.create_index(op.f('nc_shared_views_v2_fk_view_id_index'), 'nc_shared_views_v2', ['fk_view_id'], unique=False) - op.create_table('nc_users_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('email', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('salt', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('invite_token', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('invite_token_expires', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('reset_password_expires', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('reset_password_token', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('email_verification_token', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('email_verified', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('roles', sa.VARCHAR(length=255), server_default=sa.text("'editor'::character varying"), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('token_version', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('display_name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('user_name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('blocked', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('blocked_reason', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('is_deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('is_new_user', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name='nc_users_v2_pkey'), - postgresql_ignore_search_path=False - ) - op.create_index(op.f('nc_users_v2_email_index'), 'nc_users_v2', ['email'], unique=False) - op.create_table('nc_bases_v2', - sa.Column('id', sa.VARCHAR(length=128), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('prefix', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('color', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('roles', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_meta', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('default_role', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_projects_v2_pkey')) - ) - op.create_table('nc_gallery_view_v2', - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('next_enabled', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('prev_enabled', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('cover_image_idx', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('fk_cover_image_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('cover_image', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('restrict_types', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('restrict_size', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('restrict_number', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('public', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('dimensions', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('responsive_columns', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_gallery_view_v2_pkey')) - ) - op.create_index(op.f('nc_gallery_view_v2_fk_view_id_index'), 'nc_gallery_view_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_gallery_view_v2_base_id_index'), 'nc_gallery_view_v2', ['base_id'], unique=False) - op.create_table('nc_col_select_options_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('color', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_select_options_v2_pkey')) - ) - op.create_index(op.f('nc_col_select_options_v2_fk_column_id_index'), 'nc_col_select_options_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_select_options_v2_base_id_index'), 'nc_col_select_options_v2', ['base_id'], unique=False) - op.create_table('nc_widgets_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_dashboard_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=False), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=50), autoincrement=False, nullable=False), - sa.Column('config', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('order', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('position', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('error', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_widgets_v2_pkey')) - ) - op.create_index(op.f('nc_widgets_dashboard_idx'), 'nc_widgets_v2', ['fk_dashboard_id'], unique=False) - op.create_index(op.f('nc_widgets_context'), 'nc_widgets_v2', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_plugins_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=45), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('active', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('rating', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('version', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('docs', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=255), server_default=sa.text("'install'::character varying"), autoincrement=False, nullable=True), - sa.Column('status_details', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('logo', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('icon', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('tags', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('category', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('input_schema', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('input', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('creator', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('creator_website', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('price', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_plugins_v2_pkey')) - ) - op.create_table('nc_grid_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('help', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('width', sa.VARCHAR(length=255), server_default=sa.text("'200px'::character varying"), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('group_by', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('group_by_order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('group_by_sort', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('aggregation', sa.VARCHAR(length=30), server_default=sa.text('NULL::character varying'), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_grid_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_grid_view_columns_v2_fk_view_id_index'), 'nc_grid_view_columns_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_grid_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_grid_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_grid_view_columns_v2_fk_column_id_index'), 'nc_grid_view_columns_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_grid_view_columns_v2_base_id_index'), 'nc_grid_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_hook_trigger_fields', - sa.Column('fk_hook_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('fk_workspace_id', 'base_id', 'fk_hook_id', 'fk_column_id', name=op.f('nc_hook_trigger_fields_pkey')) - ) - op.create_table('nc_col_barcode_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_barcode_value_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('barcode_format', sa.VARCHAR(length=15), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_barcode_v2_pkey')) - ) - op.create_index(op.f('nc_col_barcode_v2_fk_column_id_index'), 'nc_col_barcode_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_barcode_v2_base_id_index'), 'nc_col_barcode_v2', ['base_id'], unique=False) - op.create_table('nc_dashboards_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=False), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('order', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('owned_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_custom_url_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_dashboards_v2_pkey')) - ) - op.create_index(op.f('share_uuid_idx'), 'nc_dashboards_v2', ['uuid'], unique=False) - op.create_index(op.f('nc_dashboards_context'), 'nc_dashboards_v2', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_calendar_view_v2', - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_cover_image_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_calendar_view_v2_pkey')) - ) - op.create_index(op.f('nc_calendar_view_v2_base_id_index'), 'nc_calendar_view_v2', ['base_id'], unique=False) - op.create_table('nc_sources_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('alias', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('config', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('is_meta', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('inflection_column', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('inflection_table', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('enabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('description', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('erd_uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_schema_readonly', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_data_readonly', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('fk_integration_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('is_local', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_encrypted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_bases_v2_pkey')) - ) - op.create_index(op.f('nc_sources_v2_fk_integration_id_index'), 'nc_sources_v2', ['fk_integration_id'], unique=False) - op.create_index(op.f('nc_sources_v2_base_id_index'), 'nc_sources_v2', ['base_id'], unique=False) - op.create_table('nc_sync_mappings', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_sync_config_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('target_table', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_sync_mappings_pkey')) - ) - op.create_index(op.f('nc_sync_mappings_sync_config_idx'), 'nc_sync_mappings', ['fk_sync_config_id'], unique=False) - op.create_index(op.f('nc_sync_mappings_context'), 'nc_sync_mappings', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_col_button_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('theme', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('color', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('icon', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('formula', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('formula_raw', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('error', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('parsed_tree', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('fk_webhook_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('fk_integration_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('model', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('output_column_ids', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_button_v2_pkey')) - ) - op.create_index(op.f('nc_col_button_v2_fk_column_id_index'), 'nc_col_button_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_button_context'), 'nc_col_button_v2', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_orgs_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name='nc_orgs_v2_pkey'), - postgresql_ignore_search_path=False - ) - op.create_table('nc_comment_reactions', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('row_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('comment_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('reaction', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_comment_reactions_pkey')) - ) - op.create_index(op.f('nc_comment_reactions_row_id_index'), 'nc_comment_reactions', ['row_id'], unique=False) - op.create_index(op.f('nc_comment_reactions_comment_id_index'), 'nc_comment_reactions', ['comment_id'], unique=False) - op.create_index(op.f('nc_comment_reactions_base_id_index'), 'nc_comment_reactions', ['base_id'], unique=False) - op.create_table('nc_calendar_view_range_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_to_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('label', sa.VARCHAR(length=40), autoincrement=False, nullable=True), - sa.Column('fk_from_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_calendar_view_range_v2_pkey')) - ) - op.create_index(op.f('nc_calendar_view_range_v2_base_id_index'), 'nc_calendar_view_range_v2', ['base_id'], unique=False) - op.create_table('nc_permissions', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('entity', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('entity_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('permission', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('enforce_for_form', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('enforce_for_automation', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('granted_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('granted_role', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_permissions_pkey')) - ) - op.create_index(op.f('nc_permissions_entity'), 'nc_permissions', ['entity', 'entity_id', 'permission'], unique=False) - op.create_index(op.f('nc_permissions_context'), 'nc_permissions', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_calendar_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('bold', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('underline', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('italic', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_calendar_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_calendar_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_calendar_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_calendar_view_columns_v2_base_id_index'), 'nc_calendar_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_sync_source_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('details', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('enabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_sync_source_v2_pkey')) - ) - op.create_index(op.f('nc_sync_source_v2_source_id_index'), 'nc_sync_source_v2', ['source_id'], unique=False) - op.create_index(op.f('nc_sync_source_v2_base_id_index'), 'nc_sync_source_v2', ['base_id'], unique=False) - op.create_table('nc_kanban_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('help', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_kanban_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_kanban_view_columns_v2_fk_view_id_index'), 'nc_kanban_view_columns_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_kanban_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_kanban_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_kanban_view_columns_v2_fk_column_id_index'), 'nc_kanban_view_columns_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_kanban_view_columns_v2_base_id_index'), 'nc_kanban_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_map_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('project_id', sa.VARCHAR(length=128), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('help', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_map_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_map_view_columns_v2_fk_view_id_index'), 'nc_map_view_columns_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_map_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_map_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_map_view_columns_v2_fk_column_id_index'), 'nc_map_view_columns_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_map_view_columns_v2_base_id_index'), 'nc_map_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_grid_view_v2', - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('row_height', sa.INTEGER(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_grid_view_v2_pkey')) - ) - op.create_index(op.f('nc_grid_view_v2_fk_view_id_index'), 'nc_grid_view_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_grid_view_v2_base_id_index'), 'nc_grid_view_v2', ['base_id'], unique=False) - op.create_table('nc_audit_v2_old', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('user', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('ip', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('row_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('op_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('op_sub_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('details', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('version', sa.SMALLINT(), server_default=sa.text("'0'::smallint"), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_ref_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_parent_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('user_agent', sa.TEXT(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_audit_v2_pkey')) - ) - op.create_index(op.f('nc_audit_v2_row_id_index'), 'nc_audit_v2_old', ['row_id'], unique=False) - op.create_index(op.f('nc_audit_v2_fk_model_id_index'), 'nc_audit_v2_old', ['fk_model_id'], unique=False) - op.create_index(op.f('nc_audit_v2_base_id_index'), 'nc_audit_v2_old', ['base_id'], unique=False) - op.create_table('nc_map_view_v2', - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_geo_data_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_map_view_v2_pkey')) - ) - op.create_index(op.f('nc_map_view_v2_fk_view_id_index'), 'nc_map_view_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_map_view_v2_fk_geo_data_col_id_index'), 'nc_map_view_v2', ['fk_geo_data_col_id'], unique=False) - op.create_index(op.f('nc_map_view_v2_base_id_index'), 'nc_map_view_v2', ['base_id'], unique=False) - op.create_table('nc_col_qrcode_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_qr_value_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_qrcode_v2_pkey')) - ) - op.create_index(op.f('nc_col_qrcode_v2_fk_column_id_index'), 'nc_col_qrcode_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_qrcode_v2_base_id_index'), 'nc_col_qrcode_v2', ['base_id'], unique=False) - op.create_table('nc_sort_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('direction', sa.VARCHAR(length=255), server_default=sa.text("'false'::character varying"), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_sort_v2_pkey')) - ) - op.create_index(op.f('nc_sort_v2_fk_view_id_index'), 'nc_sort_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_sort_v2_fk_column_id_index'), 'nc_sort_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_sort_v2_base_id_index'), 'nc_sort_v2', ['base_id'], unique=False) - op.create_table('nc_filter_exp_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_hook_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_parent_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('logical_op', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('comparison_op', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('value', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('is_group', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('comparison_sub_op', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_link_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_value_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_parent_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_row_color_condition_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_widget_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_filter_exp_v2_pkey')) - ) - op.create_index(op.f('nc_filter_exp_v2_fk_widget_id_index'), 'nc_filter_exp_v2', ['fk_widget_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_view_id_index'), 'nc_filter_exp_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_value_col_id_index'), 'nc_filter_exp_v2', ['fk_value_col_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_parent_id_index'), 'nc_filter_exp_v2', ['fk_parent_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_parent_column_id_index'), 'nc_filter_exp_v2', ['fk_parent_column_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_link_col_id_index'), 'nc_filter_exp_v2', ['fk_link_col_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_hook_id_index'), 'nc_filter_exp_v2', ['fk_hook_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_fk_column_id_index'), 'nc_filter_exp_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_filter_exp_v2_base_id_index'), 'nc_filter_exp_v2', ['base_id'], unique=False) - op.create_table('nc_hooks_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('description', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('env', sa.VARCHAR(length=255), server_default=sa.text("'all'::character varying"), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('event', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('operation', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('async', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('payload', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('url', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('headers', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('condition', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('notification', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('retries', sa.INTEGER(), server_default=sa.text('0'), autoincrement=False, nullable=True), - sa.Column('retry_interval', sa.INTEGER(), server_default=sa.text('60000'), autoincrement=False, nullable=True), - sa.Column('timeout', sa.INTEGER(), server_default=sa.text('60000'), autoincrement=False, nullable=True), - sa.Column('active', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('version', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('trigger_field', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_hooks_v2_pkey')) - ) - op.create_index(op.f('nc_hooks_v2_fk_model_id_index'), 'nc_hooks_v2', ['fk_model_id'], unique=False) - op.create_index(op.f('nc_hooks_v2_base_id_index'), 'nc_hooks_v2', ['base_id'], unique=False) - op.create_table('nc_extensions', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('extension_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('kv_store', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_extensions_pkey')) - ) - op.create_index(op.f('nc_extensions_base_id_index'), 'nc_extensions', ['base_id'], unique=False) - op.create_table('nc_data_reflection', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('username', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('database', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_data_reflection_pkey')) - ) - op.create_index(op.f('nc_data_reflection_fk_workspace_id_index'), 'nc_data_reflection', ['fk_workspace_id'], unique=False) - op.create_table('nc_kanban_view_v2', - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('public', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show_all_fields', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('fk_grp_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_cover_image_col_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_kanban_view_v2_pkey')) - ) - op.create_index(op.f('nc_kanban_view_v2_fk_view_id_index'), 'nc_kanban_view_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_kanban_view_v2_fk_grp_col_id_index'), 'nc_kanban_view_v2', ['fk_grp_col_id'], unique=False) - op.create_index(op.f('nc_kanban_view_v2_base_id_index'), 'nc_kanban_view_v2', ['base_id'], unique=False) - op.create_table('nc_team_users_v2', - sa.Column('org_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.ForeignKeyConstraint(['org_id'], ['nc_orgs_v2.id'], name=op.f('nc_team_users_v2_org_id_foreign')), - sa.ForeignKeyConstraint(['user_id'], ['nc_users_v2.id'], name=op.f('nc_team_users_v2_user_id_foreign')) - ) - op.create_table('nc_sync_configs', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_integration_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('sync_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('sync_trigger', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('sync_trigger_cron', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('sync_trigger_secret', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('sync_job_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('last_sync_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('next_sync_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('sync_category', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_parent_sync_config_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('on_delete_action', sa.VARCHAR(length=255), server_default=sa.text("'mark_deleted'::character varying"), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_sync_configs_pkey')) - ) - op.create_index(op.f('sync_configs_integration_model'), 'nc_sync_configs', ['fk_model_id', 'fk_integration_id'], unique=False) - op.create_index(op.f('nc_sync_configs_parent_idx'), 'nc_sync_configs', ['fk_parent_sync_config_id'], unique=False) - op.create_index(op.f('nc_sync_configs_context'), 'nc_sync_configs', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('xc_knex_migrations_lock', - sa.Column('index', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('is_locked', sa.INTEGER(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('index', name=op.f('xc_knex_migrations_lock_pkey')) - ) - op.create_table('nc_comments', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('row_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('comment', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_by_email', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('resolved_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('resolved_by_email', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('parent_comment_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('is_deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_comments_pkey')) - ) - op.create_index(op.f('nc_comments_row_id_fk_model_id_index'), 'nc_comments', ['row_id', 'fk_model_id'], unique=False) - op.create_index(op.f('nc_comments_base_id_index'), 'nc_comments', ['base_id'], unique=False) - op.create_table('xc_knex_migrationsv2', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('batch', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('migration_time', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('xc_knex_migrationsv2_pkey')) - ) - op.create_table('nc_gallery_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('help', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_gallery_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_gallery_view_columns_v2_fk_view_id_index'), 'nc_gallery_view_columns_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_gallery_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_gallery_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_gallery_view_columns_v2_fk_column_id_index'), 'nc_gallery_view_columns_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_gallery_view_columns_v2_base_id_index'), 'nc_gallery_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_audit_v2', - sa.Column('id', sa.UUID(), autoincrement=False, nullable=False), - sa.Column('user', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('ip', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('row_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('op_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('op_sub_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('details', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_ref_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_parent_id', sa.UUID(), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_org_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('user_agent', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('version', sa.SMALLINT(), server_default=sa.text("'0'::smallint"), autoincrement=False, nullable=True), - sa.Column('old_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_audit_v2_pkx')) - ) - op.create_index(op.f('nc_record_audit_v2_tenant_idx'), 'nc_audit_v2', ['base_id', 'fk_model_id', 'row_id', 'fk_workspace_id'], unique=False) - op.create_index(op.f('nc_audit_v2_tenant_idx'), 'nc_audit_v2', ['base_id', 'fk_workspace_id'], unique=False) - op.create_index(op.f('nc_audit_v2_old_id_index'), 'nc_audit_v2', ['old_id'], unique=False) - op.create_index(op.f('nc_audit_v2_fk_workspace_idx'), 'nc_audit_v2', ['fk_workspace_id'], unique=False) - op.create_table('nc_col_lookup_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_relation_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_lookup_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_lookup_v2_pkey')) - ) - op.create_index(op.f('nc_col_lookup_v2_fk_relation_column_id_index'), 'nc_col_lookup_v2', ['fk_relation_column_id'], unique=False) - op.create_index(op.f('nc_col_lookup_v2_fk_lookup_column_id_index'), 'nc_col_lookup_v2', ['fk_lookup_column_id'], unique=False) - op.create_index(op.f('nc_col_lookup_v2_fk_column_id_index'), 'nc_col_lookup_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_lookup_v2_base_id_index'), 'nc_col_lookup_v2', ['base_id'], unique=False) - op.create_table('nc_form_view_v2', - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('heading', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('subheading', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('success_msg', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('redirect_url', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('redirect_after_secs', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('email', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('submit_another_form', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('show_blank_form', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('banner_image_url', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('logo_url', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('fk_view_id', name=op.f('nc_form_view_v2_pkey')) - ) - op.create_index(op.f('nc_form_view_v2_fk_view_id_index'), 'nc_form_view_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_form_view_v2_base_id_index'), 'nc_form_view_v2', ['base_id'], unique=False) - op.create_table('nc_teams_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('org_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.ForeignKeyConstraint(['org_id'], ['nc_orgs_v2.id'], name=op.f('nc_teams_v2_org_id_foreign')), - sa.PrimaryKeyConstraint('id', name=op.f('nc_teams_v2_pkey')) - ) - op.create_table('nc_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('column_name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('uidt', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('dt', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('np', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('ns', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('clen', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('cop', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('pk', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('pv', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('rqd', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('un', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('ct', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('ai', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('unique', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('cdf', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('cc', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('csn', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('dtx', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('dtxp', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('dtxs', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('au', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('validate', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('virtual', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('system', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('readonly', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('custom_index_name', sa.VARCHAR(length=64), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_columns_v2_pkey')) - ) - op.create_index(op.f('nc_columns_v2_fk_model_id_index'), 'nc_columns_v2', ['fk_model_id'], unique=False) - op.create_index(op.f('nc_columns_v2_base_id_index'), 'nc_columns_v2', ['base_id'], unique=False) - op.create_table('nc_col_relations_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('ref_db_alias', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('virtual', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('db_type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_related_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_child_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_parent_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_mm_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_mm_child_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_mm_parent_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('ur', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('dr', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_index_name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('fk_target_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_related_base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_mm_base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_related_source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_mm_source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_col_relations_v2_pkey')) - ) - op.create_index(op.f('nc_col_relations_v2_fk_target_view_id_index'), 'nc_col_relations_v2', ['fk_target_view_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_related_model_id_index'), 'nc_col_relations_v2', ['fk_related_model_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_parent_column_id_index'), 'nc_col_relations_v2', ['fk_parent_column_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_mm_parent_column_id_index'), 'nc_col_relations_v2', ['fk_mm_parent_column_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_mm_model_id_index'), 'nc_col_relations_v2', ['fk_mm_model_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_mm_child_column_id_index'), 'nc_col_relations_v2', ['fk_mm_child_column_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_column_id_index'), 'nc_col_relations_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_fk_child_column_id_index'), 'nc_col_relations_v2', ['fk_child_column_id'], unique=False) - op.create_index(op.f('nc_col_relations_v2_base_id_index'), 'nc_col_relations_v2', ['base_id'], unique=False) - op.create_table('nc_file_references', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('storage', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('file_url', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('file_size', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('is_external', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_file_references_pkey')) - ) - op.create_index(op.f('nc_fr_context'), 'nc_file_references', ['base_id', 'fk_workspace_id'], unique=False) - op.create_table('nc_disabled_models_for_role_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('role', sa.VARCHAR(length=45), autoincrement=False, nullable=True), - sa.Column('disabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_disabled_models_for_role_v2_pkey')) - ) - op.create_index(op.f('nc_disabled_models_for_role_v2_fk_view_id_index'), 'nc_disabled_models_for_role_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_disabled_models_for_role_v2_base_id_index'), 'nc_disabled_models_for_role_v2', ['base_id'], unique=False) - op.create_table('nc_integrations_store_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_integration_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('sub_type', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('slot_0', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('slot_1', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('slot_2', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('slot_3', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('slot_4', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('slot_5', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('slot_6', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('slot_7', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('slot_8', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('slot_9', sa.INTEGER(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_integrations_store_v2_pkey')) - ) - op.create_index(op.f('nc_integrations_store_v2_fk_integration_id_index'), 'nc_integrations_store_v2', ['fk_integration_id'], unique=False) - op.create_table('nc_user_comment_notifications_preference', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('row_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_model_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('preferences', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_user_comment_notifications_preference_pkey')) - ) - op.create_index(op.f('user_comments_preference_index'), 'nc_user_comment_notifications_preference', ['user_id', 'row_id', 'fk_model_id'], unique=False) - op.create_index(op.f('nc_user_comment_notifications_preference_base_id_index'), 'nc_user_comment_notifications_preference', ['base_id'], unique=False) - op.create_table('nc_integrations_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=128), autoincrement=False, nullable=True), - sa.Column('config', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('sub_type', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('is_private', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('is_default', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_encrypted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_integrations_v2_pkey')) - ) - op.create_index(op.f('nc_integrations_v2_type_index'), 'nc_integrations_v2', ['type'], unique=False) - op.create_index(op.f('nc_integrations_v2_created_by_index'), 'nc_integrations_v2', ['created_by'], unique=False) - op.create_table('nc_hook_logs_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_hook_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('event', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('operation', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('test_call', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('payload', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('conditions', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('notification', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('error_code', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('error_message', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('error', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('execution_time', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('response', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('triggered_by', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_hook_logs_v2_pkey')) - ) - op.create_index(op.f('nc_hook_logs_v2_base_id_index'), 'nc_hook_logs_v2', ['base_id'], unique=False) - op.create_table('nc_form_view_columns_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_column_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('label', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('help', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('required', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('show', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('enable_scanner', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_form_view_columns_v2_pkey')) - ) - op.create_index(op.f('nc_form_view_columns_v2_fk_view_id_index'), 'nc_form_view_columns_v2', ['fk_view_id'], unique=False) - op.create_index(op.f('nc_form_view_columns_v2_fk_view_id_fk_column_id_index'), 'nc_form_view_columns_v2', ['fk_view_id', 'fk_column_id'], unique=False) - op.create_index(op.f('nc_form_view_columns_v2_fk_column_id_index'), 'nc_form_view_columns_v2', ['fk_column_id'], unique=False) - op.create_index(op.f('nc_form_view_columns_v2_base_id_index'), 'nc_form_view_columns_v2', ['base_id'], unique=False) - op.create_table('nc_shared_bases', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('project_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('db_alias', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('roles', sa.VARCHAR(length=255), server_default=sa.text("'viewer'::character varying"), autoincrement=False, nullable=True), - sa.Column('shared_base_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('enabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_shared_bases_pkey')) - ) - op.create_table('nc_sync_logs_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_sync_source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('time_taken', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('status', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('status_details', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_sync_logs_v2_pkey')) - ) - op.create_index(op.f('nc_sync_logs_v2_base_id_index'), 'nc_sync_logs_v2', ['base_id'], unique=False) - op.create_table('nc_row_color_conditions', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_view_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('color', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('nc_order', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('is_set_as_background', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_row_color_conditions_pkey')) - ) - op.create_index(op.f('nc_row_color_conditions_fk_workspace_id_base_id_index'), 'nc_row_color_conditions', ['fk_workspace_id', 'base_id'], unique=False) - op.create_index(op.f('nc_row_color_conditions_fk_view_id_index'), 'nc_row_color_conditions', ['fk_view_id'], unique=False) - op.create_table('xc_knex_migrations', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('batch', sa.INTEGER(), autoincrement=False, nullable=True), - sa.Column('migration_time', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('xc_knex_migrations_pkey')) - ) - op.create_table('nc_permission_subjects', - sa.Column('fk_permission_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('subject_type', sa.VARCHAR(length=255), autoincrement=False, nullable=False), - sa.Column('subject_id', sa.VARCHAR(length=255), autoincrement=False, nullable=False), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('fk_permission_id', 'subject_type', 'subject_id', name=op.f('nc_permission_subjects_pkey')) - ) - op.create_index(op.f('nc_permission_subjects_context'), 'nc_permission_subjects', ['fk_workspace_id', 'base_id'], unique=False) - op.create_table('nc_models_v2', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('source_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('table_name', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('title', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), server_default=sa.text("'table'::character varying"), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('schema', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('enabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('mm', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('tags', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('pinned', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('deleted', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('description', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('synced', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('created_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('owned_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('uuid', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('password', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('fk_custom_url_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_models_v2_pkey')) - ) - op.create_index(op.f('nc_models_v2_uuid_index'), 'nc_models_v2', ['uuid'], unique=False) - op.create_index(op.f('nc_models_v2_type_index'), 'nc_models_v2', ['type'], unique=False) - op.create_index(op.f('nc_models_v2_source_id_index'), 'nc_models_v2', ['source_id'], unique=False) - op.create_index(op.f('nc_models_v2_base_id_index'), 'nc_models_v2', ['base_id'], unique=False) - op.create_table('notification', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('type', sa.VARCHAR(length=40), autoincrement=False, nullable=True), - sa.Column('body', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('is_read', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('is_deleted', sa.BOOLEAN(), server_default=sa.text('false'), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('notification_pkey')) - ) - op.create_index(op.f('notification_fk_user_id_index'), 'notification', ['fk_user_id'], unique=False) - op.create_index(op.f('notification_created_at_index'), 'notification', ['created_at'], unique=False) - op.create_table('nc_user_refresh_tokens', - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('token', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('meta', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('expires_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False) - ) - op.create_index(op.f('nc_user_refresh_tokens_token_index'), 'nc_user_refresh_tokens', ['token'], unique=False) - op.create_index(op.f('nc_user_refresh_tokens_fk_user_id_index'), 'nc_user_refresh_tokens', ['fk_user_id'], unique=False) - op.create_index(op.f('nc_user_refresh_tokens_expires_at_index'), 'nc_user_refresh_tokens', ['expires_at'], unique=False) - op.create_table('nc_base_users_v2', - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('roles', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('starred', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('pinned', sa.BOOLEAN(), autoincrement=False, nullable=True), - sa.Column('group', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('color', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('hidden', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('opened_date', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('invited_by', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('base_id', 'fk_user_id', name=op.f('nc_base_users_v2_pkey')) - ) - op.create_index(op.f('nc_project_users_v2_fk_user_id_index'), 'nc_base_users_v2', ['fk_user_id'], unique=False) - op.create_index(op.f('nc_base_users_v2_invited_by_index'), 'nc_base_users_v2', ['invited_by'], unique=False) - op.create_index(op.f('nc_base_users_v2_base_id_index'), 'nc_base_users_v2', ['base_id'], unique=False) - op.create_table('nc_api_tokens', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('db_alias', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('description', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('permissions', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('token', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('expiry', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('enabled', sa.BOOLEAN(), server_default=sa.text('true'), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('fk_sso_client_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_api_tokens_pkey')) - ) - op.create_index(op.f('nc_api_tokens_fk_user_id_index'), 'nc_api_tokens', ['fk_user_id'], unique=False) - op.create_index(op.f('nc_api_tokens_fk_sso_client_id_index'), 'nc_api_tokens', ['fk_sso_client_id'], unique=False) - op.create_table('nc_store', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('base_id', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('db_alias', sa.VARCHAR(length=255), server_default=sa.text("'db'::character varying"), autoincrement=False, nullable=True), - sa.Column('key', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('value', sa.TEXT(), autoincrement=False, nullable=True), - sa.Column('type', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('env', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('tag', sa.VARCHAR(length=255), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), autoincrement=False, nullable=True), - sa.PrimaryKeyConstraint('id', name=op.f('nc_store_pkey')) - ) - op.create_index(op.f('nc_store_key_index'), 'nc_store', ['key'], unique=False) - op.create_table('nc_mcp_tokens', - sa.Column('id', sa.VARCHAR(length=20), autoincrement=False, nullable=False), - sa.Column('title', sa.VARCHAR(length=512), autoincrement=False, nullable=True), - sa.Column('base_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('token', sa.VARCHAR(length=32), autoincrement=False, nullable=True), - sa.Column('fk_workspace_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('order', sa.REAL(), autoincrement=False, nullable=True), - sa.Column('fk_user_id', sa.VARCHAR(length=20), autoincrement=False, nullable=True), - sa.Column('created_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.Column('updated_at', postgresql.TIMESTAMP(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), autoincrement=False, nullable=False), - sa.PrimaryKeyConstraint('id', name=op.f('nc_mcp_tokens_pkey')) - ) - op.create_index(op.f('nc_mc_tokens_context'), 'nc_mcp_tokens', ['base_id', 'fk_workspace_id'], unique=False) - op.drop_table('certificate') - op.drop_table('course') - # ### end Alembic commands ### diff --git a/alembic/versions/603af861b193_remove_contact_table.py b/alembic/versions/603af861b193_remove_contact_table.py deleted file mode 100644 index 0162491..0000000 --- a/alembic/versions/603af861b193_remove_contact_table.py +++ /dev/null @@ -1,41 +0,0 @@ -"""remove contact table - -Revision ID: 603af861b193 -Revises: c151f5abb66d -Create Date: 2025-10-01 22:35:33.898996 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = '603af861b193' -down_revision: Union[str, Sequence[str], None] = 'c151f5abb66d' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.drop_table('contact') - op.add_column('user', sa.Column('email', sa.String(), nullable=True)) - # ### end Alembic commands ### - - -def downgrade() -> None: - """Downgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.drop_column('user', 'email') - op.create_table('contact', - sa.Column('id', sa.INTEGER(), autoincrement=True, nullable=False), - sa.Column('user_id', sa.INTEGER(), autoincrement=False, nullable=False), - sa.Column('type', sa.VARCHAR(), autoincrement=False, nullable=False), - sa.Column('value', sa.VARCHAR(), autoincrement=False, nullable=False), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], name=op.f('contact_user_id_fkey')), - sa.PrimaryKeyConstraint('id', name=op.f('contact_pkey')) - ) - # ### end Alembic commands ### diff --git a/alembic/versions/b6b5b3356625_init_db.py b/alembic/versions/b6b5b3356625_init_db.py new file mode 100644 index 0000000..c4bc6fb --- /dev/null +++ b/alembic/versions/b6b5b3356625_init_db.py @@ -0,0 +1,95 @@ +"""init db + +Revision ID: b6b5b3356625 +Revises: +Create Date: 2025-10-02 00:38:14.424211 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = 'b6b5b3356625' +down_revision: Union[str, Sequence[str], None] = None +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('course', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('title', sa.String(), nullable=False), + sa.Column('description', sa.String(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('event', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('title', sa.String(), nullable=False), + sa.Column('description', sa.String(), nullable=False), + sa.Column('start_date', sa.DateTime(), nullable=True), + sa.Column('end_date', sa.DateTime(), nullable=True), + sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('is_active', sa.Boolean(), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('user', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('tg_id', sa.BigInteger(), nullable=True), + sa.Column('fullname', sa.String(), nullable=False), + sa.Column('role', sa.String(), nullable=False), + sa.Column('phone', sa.String(), nullable=True), + sa.Column('email', sa.String(), nullable=True), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('tg_id') + ) + op.create_table('address', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('country', sa.String(), nullable=False), + sa.Column('region', sa.String(), nullable=False), + sa.Column('locality', sa.String(), nullable=False), + sa.Column('street_address', sa.String(), nullable=False), + sa.Column('extended_address', sa.String(), nullable=False), + sa.Column('postal_code', sa.String(), nullable=False), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.create_table('certificate', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('course_id', sa.Integer(), nullable=False), + sa.Column('date', sa.DateTime(), nullable=False), + sa.ForeignKeyConstraint(['course_id'], ['course.id'], ), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('user_id', 'course_id', name='uq_user_course') + ) + op.create_table('user_event', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('event_id', sa.Integer(), nullable=False), + sa.Column('date', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('status', sa.String(), nullable=False), + sa.ForeignKeyConstraint(['event_id'], ['event.id'], ), + sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), + sa.PrimaryKeyConstraint('id'), + sa.UniqueConstraint('user_id', 'event_id', name='uq_user_event') + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_table('user_event') + op.drop_table('certificate') + op.drop_table('address') + op.drop_table('user') + op.drop_table('event') + op.drop_table('course') + # ### end Alembic commands ### diff --git a/alembic/versions/c151f5abb66d_add_contacts_and_address.py b/alembic/versions/c151f5abb66d_add_contacts_and_address.py deleted file mode 100644 index 9d5cba0..0000000 --- a/alembic/versions/c151f5abb66d_add_contacts_and_address.py +++ /dev/null @@ -1,60 +0,0 @@ -"""add contacts and address - -Revision ID: c151f5abb66d -Revises: 01691d3fa96a -Create Date: 2025-10-01 18:58:32.345910 - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa - - -# revision identifiers, used by Alembic. -revision: str = 'c151f5abb66d' -down_revision: Union[str, Sequence[str], None] = '01691d3fa96a' -branch_labels: Union[str, Sequence[str], None] = None -depends_on: Union[str, Sequence[str], None] = None - - -def upgrade() -> None: - """Upgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.create_table('address', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('country', sa.String(), nullable=False), - sa.Column('region', sa.String(), nullable=False), - sa.Column('locality', sa.String(), nullable=False), - sa.Column('street_address', sa.String(), nullable=False), - sa.Column('extended_address', sa.String(), nullable=False), - sa.Column('postal_code', sa.String(), nullable=False), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), - sa.PrimaryKeyConstraint('id') - ) - op.create_table('contact', - sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), - sa.Column('user_id', sa.Integer(), nullable=False), - sa.Column('type', sa.String(), nullable=False), - sa.Column('value', sa.String(), nullable=False), - sa.ForeignKeyConstraint(['user_id'], ['user.id'], ), - sa.PrimaryKeyConstraint('id') - ) - op.alter_column('user', 'tg_id', - existing_type=sa.BIGINT(), - nullable=True) - op.drop_column('user', 'address') - # ### end Alembic commands ### - - -def downgrade() -> None: - """Downgrade schema.""" - # ### commands auto generated by Alembic - please adjust! ### - op.add_column('user', sa.Column('address', sa.VARCHAR(), autoincrement=False, nullable=True)) - op.alter_column('user', 'tg_id', - existing_type=sa.BIGINT(), - nullable=False) - op.drop_table('contact') - op.drop_table('address') - # ### end Alembic commands ### diff --git a/config/settings.toml b/config/settings.toml index 1d1ad6d..37110d1 100644 --- a/config/settings.toml +++ b/config/settings.toml @@ -1 +1,4 @@ -[DEVELOPMENT] \ No newline at end of file +[DEVELOPMENT] +log_level="info" +[PRODUCTION] +log_level="warning" \ No newline at end of file