django-cassandra-engine
django-cassandra-engine copied to clipboard
django cassnadra migration
Hi I am new in django
I tried to connect django to cassandra. here are my modules:
cassandra-driver (3.25.0)
cassandra-pylib (0.0.0)
click (8.0.1)
Django (3.2.7)
django-cassandra-engine (1.6.3)
here are my settings.py
INSTALLED_APPS = ['django_cassandra_engine'] + INSTALLED_APPS
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
'default': {
'ENGINE': 'django_cassandra_engine',
'NAME': 'dvr',
'HOST': '127.0.0.1',
'USER': 'user',
'PASSWORD': 'pass',
'OPTIONS': {
'replication': {
'strategy_class': 'NetworkTopologyStrategy',
'dc1': 1
},
'connection': {
'consistency': ConsistencyLevel.LOCAL_ONE,
'retry_connect': True,
'protocol_version': 4
# + All connection options for cassandra.cluster.Cluster()
}
}
}
}
when I try to run migrations I have an error:
/root/python38/bin/python3 /root/cutter2/cutter/manage.py sync_cassandra
Creating keyspace dvr [CONNECTION default] ..
/root/python38/bin/python3 /root/cutter2/cutter/manage.py migrate
Migrations are not supported in this engine. Calling syncdb instead..
Traceback (most recent call last):
File "/root/cutter2/cutter/manage.py", line 22, in <module>
main()
File "/root/cutter2/cutter/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/root/python38/lib64/python3.8/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/root/python38/lib64/python3.8/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/root/python38/lib64/python3.8/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/root/python38/lib64/python3.8/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/root/python38/lib64/python3.8/site-packages/django_cassandra_engine/management/commands/migrate.py", line 17, in handle
call_command('sync_cassandra', **options)
File "/root/python38/lib64/python3.8/site-packages/django/core/management/__init__.py", line 168, in call_command
raise TypeError(
TypeError: Unknown option(s) for sync_cassandra command: app_label, check_unapplied, fake, fake_initial, interactive, migration_name, plan, run_syncdb. Valid options are: database, force_color, help, no_color, pythonpath, settings, skip_checks, stderr, stdout, traceback, verbosity, version.
Could you help me to run migrations
Hello! You don't need to run migrations. python manage.py sync_cassandra does the trick for you, so every time you add a column to your model you have to call sync_cassandra and that's it.