Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iot_manager_migration
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ajil.k
iot_manager_migration
Commits
6db2e80d
Commit
6db2e80d
authored
May 11, 2023
by
ajil.k
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update translator.py
parent
188d8616
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
57 deletions
+13
-57
translator.py
translator.py
+13
-57
No files found.
translator.py
View file @
6db2e80d
import
pymongo
import
pytz
""" mongo dumping"""
import
os
import
subprocess
import
zipfile
from
datetime
import
datetime
,
timedelta
from
datetime
import
datetime
from
schema
import
DeviceDetails
,
DeviceParameters
# # Set the MongoDB URL to connect to
# mongo_url = 'mongodb://ilens:ilens%401234@192.168.0.220:4720/?authSource=admin'
# # Set the path to the mongodump executable
# mongodump_path = 'C:/Program Files/MongoDB/Server/6.0/bin/mongodump.exe'
# # Set the name of the database to be dumped
# db_name = 'Iot_manager(Test)'
# # Set the path where the dump will be saved
# dump_path = 'E:/Iot_manager(Test)/dumped_data'
# # Build the command to be executed
# command = [mongodump_path, '--uri', mongo_url, '--db', db_name, '--out', dump_path]
# # Execute the command
# subprocess.call(command)
# # mongo restore
# mongorestore_path = 'C:/Program Files/MongoDB/Server/6.0/bin/mongorestore.exe'
# now = datetime.now()
# date_str = now.strftime("%Y-%m-%d")
# new_db_name = f"Iot_manager(Test)_copy_{date_str}"
# restore_command = [mongorestore_path, '--uri', mongo_url, '--db', new_db_name, dump_path + "/" + db_name]
# subprocess.call(restore_command)
# def zip_folder(folder_path, zip_path):
# with zipfile.ZipFile(zip_path, 'w', compression=zipfile.ZIP_DEFLATED) as zip:
# for root, dirs, files in os.walk(folder_path):
# for file in files:
# file_path = os.path.join(root, file)
# zip.write(file_path, file_path[len(folder_path):])
# zip_folder(dump_path, 'E:/Iot_manager(Test)/dumped_data.zip')
# """ end of mongo dumping and backup"""
""" mongo migration"""
# set up the connection to MongoDB
client1
=
pymongo
.
MongoClient
(
"mongodb://ilens:ilens
%401234
@192.168.0.220:4720/"
)
mongo_client
=
pymongo
.
MongoClient
(
"mongodb://ilens:ilens
%401234
@192.168.0.220:4720/"
)
# TODO: Change the Mongo Connectio String
col_list
=
[
'mp201a'
,
'glens'
,
'ilens'
,
'ilens_ir4.0'
,
'dubai-munc'
,
'epda-rak'
,
'camw'
,
'ilens-avis'
,
'old_glens'
,
'old_calixto'
,
"ilens-mc"
]
db1
=
client1
[
"Iot_manager(Test)"
]
db2
=
client1
[
"Assets_manager"
]
device_details
=
db2
[
"Iot_devices_details"
]
parameters_details
=
db2
[
"Iot_device_Parameters_details"
]
# Databases
old_db
=
mongo_client
[
"Iot_manager(Test)"
]
# TODO: Change the Old DB name
new_db
=
mongo_client
[
"Assets_manager"
]
# New Collections
device_details
=
new_db
[
"Iot_devices_details"
]
parameters_details
=
new_db
[
"Iot_device_Parameters_details"
]
counter
=
1
for
collection_name
in
col_list
:
existing_collection
=
db1
[
collection_name
]
# Old Collection
existing_collection
=
old_db
[
collection_name
]
# query the collection to fetch documents
documents
=
existing_collection
.
find
({},
{
"_id"
:
0
})
i
=
0
...
...
@@ -302,7 +258,7 @@ for collection_name in col_list:
parameters_details
.
create_index
(
"software_name"
)
else
:
device_details
.
delete_one
({
"mac_address"
:
mac_address
})
print
(
f
"{collection_name} - {i}"
)
print
(
f
"{collection_name} -
\"
{mac_address}
\"
-
{i}"
)
except
Exception
as
e
:
print
(
e
)
print
(
f
"{collection_name} - error while migrating -
\"
{mac_address}
\"
- device - {e}"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment