alchemy flush and save functions updated

This commit is contained in:
2024-11-11 18:55:53 +03:00
parent c42a19c262
commit 1f1222c32d
163 changed files with 6296 additions and 476 deletions

View File

@@ -0,0 +1,17 @@
from service_app_test.api_configs import BothAPIS
def migrate_build(requester: BothAPIS):
return
def migrate_build_area(requester: BothAPIS):
return
def migrate_build_part(requester: BothAPIS):
return
def migrate_build_iban(requester: BothAPIS):
return
def migrate_build_living_space(requester: BothAPIS):
return

View File

@@ -0,0 +1,31 @@
from service_app_test.api_configs import BothAPIS
from service_app_test.bases import FilterObject
def migrate_company(requester: BothAPIS):
filter_object = FilterObject(
page=1,
size=100,
order_field="id",
order_type="asc",
)
response = requester.wag_api.post(
endpoint="/company/list",
data=filter_object.dump(),
)
response_json = response.json()
print('response_json', response_json)
response_datas = response_json['data']
for response_data in response_datas:
print('response_data', response_data)
response_data['active'] = True
response_data['deleted'] = False
response_data['is_confirmed'] = True
response_data['expiry_starts'] = None
response_data['expiry_ends'] = None
response = requester.local_api.post(
endpoint="/company/create",
data=response_data,
)
print('response', response.text)
return

View File

@@ -0,0 +1,6 @@
from service_app_test.api_configs import BothAPIS
def migrate_people(requester: BothAPIS):
# Migrate old data
pass

View File

@@ -0,0 +1,39 @@
from time import perf_counter
from json import loads
system_default = dict(
is_confirmed=True,
active=True,
deleted=False,
is_notification_send=True,
created_by="System",
confirmed_by="System",
)
def read_json_file(json_directory, json_file):
with open(f"{json_directory}/{json_file}.json", "r", encoding='utf-8') as json_file:
return loads(json_file.read())
def bulk_insert_alchemy_postgresql(active_session, table, data_list, on_conflict_constraints = None):
from sqlalchemy.dialects.postgresql import insert
st = perf_counter()
if on_conflict_constraints:
session_execute = active_session.execute(
insert(table)
.values(data_list)
.on_conflict_do_nothing(
index_elements=on_conflict_constraints or [],
)
)
else:
session_execute = active_session.execute(
insert(table)
.values(data_list)
)
count_row = session_execute.rowcount
print(f'Table : {table.__name__} count_row : {count_row} : time took : {round(perf_counter() - st, 2)} seconds')
active_session.commit()
active_session.flush()

View File

@@ -0,0 +1,52 @@
from service_app_test.bases import RequestToApi
from service_app_test.api_configs import WagAPI, LocalAPI, BothAPIS
from service_app_test.test_application.migrate_old_data.people import migrate_people
from service_app_test.test_application.migrate_old_data.building import (
migrate_build,
migrate_build_area,
migrate_build_part,
migrate_build_iban,
migrate_build_living_space,
)
from service_app_test.test_application.migrate_old_data.company import migrate_company
login_data = {
"domain": "evyos.com.tr",
"access_key": "karatay.berkay.sup@evyos.com.tr",
"password": "string",
"remember_me": False,
"password_token": "z5nPguDu6PrY_94KlTGxGBCMcK6rZcDl5AGqO5aHWY7TcQF8LJGYikMQs9labvqdz5yM7vE_f8Zq_vqp00o3EnWwWCWhel-EsMcAujBKNRjV3jC_4xk0_1r_unIYogWAjz_spZipX6pncsch2ngvv0dpx4lHSiZ5QrDTA1RefQ",
}
login_data_wag = {
"domain": "evyos.com.tr",
"access_key": "karatay.berkay.sup@evyos.com.tr",
"password": "string",
"remember_me": False,
"password_token": ""
}
wag_api = RequestToApi()
wag_api.overwrite_base_url(base_url=WagAPI.base_url)
wag_api.selected_object = wag_api.login_via_email_and_password(
login_data=login_data_wag, is_password_valid=True
)
local_api = RequestToApi()
local_api.overwrite_base_url(base_url=LocalAPI.base_url)
local_api.selected_object = local_api.login_via_email_and_password(
login_data=login_data, is_password_valid=False
)
both_apis = BothAPIS()
both_apis.wag_api = wag_api
both_apis.local_api = local_api
migrate_company(requester=both_apis)
migrate_people(requester=both_apis)
migrate_build(requester=both_apis)
migrate_build_area(requester=both_apis)
migrate_build_part(requester=both_apis)
migrate_build_iban(requester=both_apis)
migrate_build_living_space(requester=both_apis)