codenotary / immudb-py

immudb Python SDK
Apache License 2.0
43 stars 7 forks source link

UpdateDatabaseV2 #62

Closed pranavv0 closed 1 year ago

pranavv0 commented 1 year ago

Can we get the proper example of how to update immudb settings with UpdateDatabaseV2 using python lang.

Razikus commented 1 year ago

Hello Check this out

from immudb.client import ImmudbClient
import immudb.datatypesv2 as datatypesv2

client = ImmudbClient("localhost:3322")
client.login("immudb", "immudb")

client.createDatabaseV2(b'test', datatypesv2.DatabaseSettingsV2(
    autoload=False
), True)
client.updateDatabaseV2(b"test", datatypesv2.DatabaseSettingsV2(
    autoload=True,
    maxConcurrency=20
))

Just tell me what you want to achieve

Razikus commented 1 year ago

Example with creating replicas (assuming that you are using localhost)

from immudb.client import ImmudbClient
import immudb.datatypesv2 as datatypesv2
import time

client = ImmudbClient("localhost:3322")
client.login("immudb", "immudb")

client.createDatabaseV2(b'test1', datatypesv2.DatabaseSettingsV2(
    autoload=False
), True)

client.createDatabaseV2(b'test2', datatypesv2.DatabaseSettingsV2(
    autoload=False
), True)

client.updateDatabaseV2(b"test2", datatypesv2.DatabaseSettingsV2(
    autoload=True,
    maxConcurrency=20,
    replicationSettings=datatypesv2.ReplicationSettings(
        replica = True,
        masterDatabase=b"test1",
        followerPassword="immudb",
        followerUsername="immudb",
        masterAddress="localhost",
        masterPort=3322
    )
))

client.useDatabase(b'test1')
client.set(b'x', b'y')
time.sleep(3)
client.useDatabase(b'test2')
print(client.get(b'x'))
pranavv0 commented 1 year ago

Thanks, @Razikus , This helped me.