kopia lustrzana https://github.com/bugout-dev/moonstream
82 wiersze
2.4 KiB
Python
82 wiersze
2.4 KiB
Python
import argparse
|
|
|
|
from moonstreamdb.db import yield_db_session_ctx
|
|
|
|
|
|
def ethereum_labels_copy_check() -> None:
|
|
|
|
with yield_db_session_ctx() as db_session:
|
|
|
|
# check counts in 2 tables
|
|
|
|
count_original = db_session.execute(
|
|
"""
|
|
select count(*) from ethereum_labels;
|
|
"""
|
|
).fetchall()[0][0]
|
|
|
|
count_new_labels = db_session.execute(
|
|
"""
|
|
select count(*) from ethereum_labels_v2;
|
|
"""
|
|
).fetchall()[0][0]
|
|
if count_original == count_new_labels:
|
|
print(f"Count check passed")
|
|
else:
|
|
print(f"Tables recors counts mismatch")
|
|
|
|
print(
|
|
f"ethereum_labels count:{count_original}, ethereum_labels_v2 count:{count_new_labels}"
|
|
)
|
|
|
|
# check random selected rows
|
|
original_table_rows_select = db_session.execute(
|
|
"""
|
|
select id from ethereum_labels TABLESAMPLE BERNOULLI (0.1) limit 1000;
|
|
"""
|
|
).fetchall()
|
|
|
|
ids = [str(row[0]) for row in original_table_rows_select]
|
|
|
|
ids_str = "', '".join(ids)
|
|
|
|
# check
|
|
|
|
original_table_rows_select = db_session.execute(
|
|
"""
|
|
SELECT
|
|
id,
|
|
label,
|
|
label_data,
|
|
created_at,
|
|
transaction_hash,
|
|
address
|
|
FROM
|
|
ethereum_labels_v2
|
|
where id IN ('{}')
|
|
EXCEPT
|
|
SELECT
|
|
ethereum_labels.id as id,
|
|
ethereum_labels.label as label,
|
|
ethereum_labels.label_data as label_data,
|
|
ethereum_labels.created_at as created_at,
|
|
ethereum_labels.transaction_hash as transaction_hash,
|
|
ethereum_addresses.address as address
|
|
FROM
|
|
ethereum_labels
|
|
left join ethereum_addresses ON ethereum_labels.address_id = ethereum_addresses.id
|
|
where ethereum_labels.id IN ('{}');
|
|
""".format(
|
|
ids_str, ids_str
|
|
)
|
|
).fetchall()
|
|
|
|
if original_table_rows_select:
|
|
print("Error rows data from sample missmatch")
|
|
else:
|
|
print("Rows sample is correct")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
ethereum_labels_copy_check()
|