Here I am migrating the Postgresql database to Mongodb with the help **Mongify. **
If you check my postgres db, you can see a table named “rep_test” and the data inside the table.
[color-box color="green”]
postgres=# \dt
List of relations
Schema | Name | Type | Owner
——–+———-+——-+———-
public | rep_test | table | postgres
(1 row)
[/color-box]
[color-box color="blue”]
postgres=# select * from rep_test;
test
data one
some more words
lalala
hello there
blahblah
(5 rows)
[/color-box]
Now for the db migration, you need to install the Mongify.
[color-box color="green”]
gem install mongify
Then you need to create a file named “database.config”
For eg:-
root@locahost:~# cat database.config
sql_connection do
_ adapter “postgresql”_
_ host “localhost”_
_ username “postgres”_
_ password “postgres123”_
_ database “postgres”_
end
mongodb_connection do
_ host “localhost”_
_ database “postgres”_
end
[/color-box]
Then, you need to check if the database.config file is correct and the connections are working fine. You can check this by the below command:
[color-box color="blue”]
mongify check database.config
[/color-box]
If the adapter is missing, it will give an error and you need to install the adapter by running the below command:
[color-box color="green”]
gem install activerecord-postgresql-adapter
[/color-box]
Now, you need to run the translation command
[color-box color="blue”]
mongify translation database.config > translation.rb
[/color-box]
_Now, you can tell the mongify to move the data to mongodb. _
[color-box color="green”]
mongify process database.config translation.rb
[/color-box]
Now, Verify everything is migrated to your Mongodb
[color-box color="blue”]
show collections
rep_test
system.indexes
db.rep_test.find()
{ “_id” : ObjectId(“5645f3f000286643c4000001”), “test” : “data one” }
{ “_id” : ObjectId(“5645f3f000286643c4000002”), “test” : “some more words” }
{ “_id” : ObjectId(“5645f3f000286643c4000003”), “test” : “lalala” }
{ “_id” : ObjectId(“5645f3f000286643c4000004”), “test” : “hello there” }
{ “_id” : ObjectId(“5645f3f000286643c4000005”), “test” : “blahblah” }
[/color-box]