Coverage for mindsdb / migrations / versions / 2025-10-27_86b172b78a5b_removed_data_catalog_tables.py: 75%

20 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-01-21 00:36 +0000

1"""removed_data_catalog_tables 

2 

3Revision ID: 86b172b78a5b 

4Revises: 54ed56beb47a 

5Create Date: 2025-10-27 11:14:14.671837 

6 

7""" 

8 

9from alembic import op 

10import sqlalchemy as sa 

11import mindsdb.interfaces.storage.db # noqa 

12from mindsdb.interfaces.storage.db import Array 

13 

14 

15# revision identifiers, used by Alembic. 

16revision = "86b172b78a5b" 

17down_revision = "54ed56beb47a" 

18branch_labels = None 

19depends_on = None 

20 

21 

22def upgrade(): 

23 op.drop_table("meta_foreign_keys") 

24 op.drop_table("meta_primary_keys") 

25 op.drop_table("meta_column_statistics") 

26 op.drop_table("meta_columns") 

27 op.drop_table("meta_tables") 

28 

29 

30def downgrade(): 

31 op.create_table( 

32 "meta_tables", 

33 sa.Column("id", sa.Integer(), primary_key=True), 

34 sa.Column( 

35 "integration_id", 

36 sa.Integer(), 

37 sa.ForeignKey("integration.id"), 

38 nullable=False, 

39 ), 

40 sa.Column("name", sa.String(), nullable=False), 

41 sa.Column("schema", sa.String(), nullable=True), 

42 sa.Column("description", sa.String(), nullable=True), 

43 sa.Column("type", sa.String(), nullable=True), 

44 sa.Column("row_count", sa.BigInteger(), nullable=True), # Updated data type 

45 ) 

46 

47 op.create_table( 

48 "meta_columns", 

49 sa.Column("id", sa.Integer(), primary_key=True), 

50 sa.Column("table_id", sa.Integer(), sa.ForeignKey("meta_tables.id"), nullable=False), 

51 sa.Column("name", sa.String(), nullable=False), 

52 sa.Column("data_type", sa.String(), nullable=False), 

53 sa.Column("default_value", sa.String(), nullable=True), 

54 sa.Column("description", sa.String(), nullable=True), 

55 sa.Column("is_nullable", sa.Boolean(), nullable=True), 

56 ) 

57 

58 op.create_table( 

59 "meta_column_statistics", 

60 sa.Column( 

61 "column_id", 

62 sa.Integer(), 

63 sa.ForeignKey("meta_columns.id"), 

64 primary_key=True, 

65 ), 

66 sa.Column("most_common_values", Array(), nullable=True), 

67 sa.Column("most_common_frequencies", Array(), nullable=True), 

68 sa.Column("null_percentage", sa.Numeric(5, 2), nullable=True), 

69 sa.Column("distinct_values_count", sa.BigInteger(), nullable=True), # Updated data type 

70 sa.Column("minimum_value", sa.String(), nullable=True), 

71 sa.Column("maximum_value", sa.String(), nullable=True), 

72 ) 

73 

74 op.create_table( 

75 "meta_primary_keys", 

76 sa.Column("table_id", sa.Integer(), sa.ForeignKey("meta_tables.id"), primary_key=True), 

77 sa.Column( 

78 "column_id", 

79 sa.Integer(), 

80 sa.ForeignKey("meta_columns.id"), 

81 primary_key=True, 

82 ), 

83 sa.Column("ordinal_position", sa.Integer(), nullable=True), 

84 sa.Column("constraint_name", sa.String(), nullable=True), 

85 ) 

86 

87 op.create_table( 

88 "meta_foreign_keys", 

89 sa.Column( 

90 "parent_table_id", 

91 sa.Integer(), 

92 sa.ForeignKey("meta_tables.id"), 

93 primary_key=True, 

94 ), 

95 sa.Column( 

96 "parent_column_id", 

97 sa.Integer(), 

98 sa.ForeignKey("meta_columns.id"), 

99 primary_key=True, 

100 ), 

101 sa.Column( 

102 "child_table_id", 

103 sa.Integer(), 

104 sa.ForeignKey("meta_tables.id"), 

105 primary_key=True, 

106 ), 

107 sa.Column( 

108 "child_column_id", 

109 sa.Integer(), 

110 sa.ForeignKey("meta_columns.id"), 

111 primary_key=True, 

112 ), 

113 sa.Column("constraint_name", sa.String(), nullable=True), 

114 )