maisaedu-poormans-dms 1.1.80__tar.gz → 1.1.82__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/PKG-INFO +1 -1
  2. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/Writer/WriterCDC.py +1 -1
  3. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/Writer/WriterFull.py +4 -2
  4. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/models/Struct.py +3 -1
  5. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/services/Struct.py +4 -1
  6. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms.egg-info/PKG-INFO +1 -1
  7. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/setup.py +1 -1
  8. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/LICENSE +0 -0
  9. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/__init__.py +0 -0
  10. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/MigratorInterface.py +0 -0
  11. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/MigratorRowInterface.py +0 -0
  12. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/MigratorRowReaderInterface.py +0 -0
  13. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/MigratorRowWriterInterface.py +0 -0
  14. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/MigratorTableInterface.py +0 -0
  15. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Contracts/__init__.py +0 -0
  16. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/Migrator.py +0 -0
  17. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/MigratorRow/MigratorRow.py +0 -0
  18. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/MigratorRow/Reader.py +0 -0
  19. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/MigratorRow/Writer.py +0 -0
  20. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/MigratorRow/__init__.py +0 -0
  21. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/MigratorTable.py +0 -0
  22. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/postgres_migration/__init__.py +0 -0
  23. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/Connector.py +0 -0
  24. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/DynamoReplicator.py +0 -0
  25. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/Writer/__init__.py +0 -0
  26. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/__init__.py +0 -0
  27. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/models/__init__.py +0 -0
  28. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_dynamo_migration/services/__init__.py +0 -0
  29. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Connector.py +0 -0
  30. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Contracts/ReaderInterface.py +0 -0
  31. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Contracts/WriterInterface.py +0 -0
  32. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Contracts/__init__.py +0 -0
  33. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Logger.py +0 -0
  34. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/MigratorRedshift.py +0 -0
  35. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Models/ExtractionOperation.py +0 -0
  36. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Models/Struct.py +0 -0
  37. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Models/__init__.py +0 -0
  38. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Reader/GenericReader.py +0 -0
  39. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Reader/PostgresReader.py +0 -0
  40. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Reader/__init__.py +0 -0
  41. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Services/AdapterSourceTarget.py +0 -0
  42. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Services/ExtractionOperation.py +0 -0
  43. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Services/RelationExtraction.py +0 -0
  44. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Services/Struct.py +0 -0
  45. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Services/__init__.py +0 -0
  46. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Types.py +0 -0
  47. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Writer/GenericWriter.py +0 -0
  48. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Writer/WriterCDC.py +0 -0
  49. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Writer/WriterNonCDC.py +0 -0
  50. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/Writer/__init__.py +0 -0
  51. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/redshift_migration/__init__.py +0 -0
  52. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms/sql_server_migration.py +0 -0
  53. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms.egg-info/SOURCES.txt +0 -0
  54. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms.egg-info/dependency_links.txt +0 -0
  55. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms.egg-info/requires.txt +0 -0
  56. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/maisaedu_poormans_dms.egg-info/top_level.txt +0 -0
  57. {maisaedu-poormans-dms-1.1.80 → maisaedu-poormans-dms-1.1.82}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maisaedu-poormans-dms
3
- Version: 1.1.80
3
+ Version: 1.1.82
4
4
  Summary: A library for making database migration tasks, for +A Education
5
5
  Home-page: UNKNOWN
6
6
  Author: A+ Educação
@@ -40,7 +40,7 @@ class WriterCDC:
40
40
  ROW_NUMBER() OVER (PARTITION BY "payload"."dynamodb"."Keys"."partitionKey"."S", "payload"."dynamodb"."Keys"."sortKey"."S" ORDER BY "payload"."dynamodb"."ApproximateCreationDateTime" DESC) as row_num
41
41
  FROM {self.view_name}
42
42
  WHERE
43
- (("payload"."dynamodb"."ApproximateCreationDateTime"::bigint) / 1e6) > (coalesce(extract('epoch' from (select max(updated_at) from {self.target})), 0) - 3600)
43
+ (("payload"."dynamodb"."ApproximateCreationDateTime"::bigint) / 1e6) > (coalesce(extract('epoch' from (select max(updated_at) from {self.target})), 0) - {self.struct.incremental_interval_delta})
44
44
  ) subquery
45
45
  WHERE row_num = 1;
46
46
  """)
@@ -1,3 +1,4 @@
1
+ from maisaedu_utilities_prefect.constants.redshift import get_iam_role
1
2
  from ..models.Struct import Struct
2
3
 
3
4
  TEMP_TABLE_NAME = 'tmp_full'
@@ -9,6 +10,7 @@ class WriterFull:
9
10
  self.conn = conn
10
11
  self.logger = logger
11
12
  self.struct = struct
13
+ self.iam_role = get_iam_role(env)
12
14
 
13
15
  self.target = f"{self.struct.target_schema}.{self.struct.target_table}"
14
16
 
@@ -25,7 +27,7 @@ class WriterFull:
25
27
  f"""
26
28
  COPY {TEMP_TABLE_NAME}
27
29
  FROM '{self.struct.s3_url}'
28
- IAM_ROLE 'arn:aws:iam::977647303146:role/PrefectAssumeRoleInsideRedshiftDEV'
30
+ IAM_ROLE '{self.iam_role}'
29
31
  GZIP JSON 'auto ignorecase'
30
32
  MAXERROR {MAX_ERRORS};
31
33
  """
@@ -42,7 +44,7 @@ class WriterFull:
42
44
  item."partitionKey"."S"::varchar AS partition_key,
43
45
  item."sortKey"."S"::varchar AS sort_key,
44
46
  item,
45
- GETDATE()
47
+ NULL
46
48
  FROM
47
49
  tmp_full;
48
50
  """
@@ -8,4 +8,6 @@ class Struct:
8
8
  source_table: str # DynamoDB table name
9
9
 
10
10
  target_schema: str
11
- target_table: str
11
+ target_table: str
12
+
13
+ incremental_interval_delta: int # Interval in seconds to consider for incremental loads
@@ -4,6 +4,7 @@ from ..Connector import Connector
4
4
 
5
5
  SOURCE_ENGINE = "dynamo"
6
6
  AWS_REGION = "us-east-1"
7
+ DEFAULT_INCREMENTAL_INTERVAL_DELTA = 3600
7
8
 
8
9
  class Struct:
9
10
  def __init__(self, env=None, aws_credentials=None):
@@ -31,7 +32,8 @@ class Struct:
31
32
  source_schema,
32
33
  source_table,
33
34
  target_schema,
34
- target_table
35
+ target_table,
36
+ incremental_interval_delta
35
37
  from
36
38
  dataeng.relations_extraction
37
39
  where
@@ -63,6 +65,7 @@ class Struct:
63
65
  source_table=r[2],
64
66
  target_schema=r[3],
65
67
  target_table=r[4],
68
+ incremental_interval_delta=r[5] or DEFAULT_INCREMENTAL_INTERVAL_DELTA,
66
69
  s3_url=f"{base_url}/{s3_url}data"
67
70
  )
68
71
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maisaedu-poormans-dms
3
- Version: 1.1.80
3
+ Version: 1.1.82
4
4
  Summary: A library for making database migration tasks, for +A Education
5
5
  Home-page: UNKNOWN
6
6
  Author: A+ Educação
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="maisaedu-poormans-dms",
5
- version="1.1.80",
5
+ version="1.1.82",
6
6
  description="A library for making database migration tasks, for +A Education",
7
7
  license="MIT License",
8
8
  author="A+ Educação",