2

I hava a Django app on a windows server 2012 which was set up with sqlite3 as the db, but it's going to production so I'm migrating the tables to oracle 11g on the server, i don't care about the data just the tables so when I run

    python manage.py migrate

I get ORA-2000 Error: missing ALWAYS keyword

I'm new to django and websites in general, what am i missing?

Database setting:

    DATABASES = {
'default': {
    'ENGINE':   'django.db.backends.oracle',
    'NAME':     'orcl',
    'USER':     'hr',
    'PASSWORD': 'hr',
    'HOST': 'localhost',
    'PORT': '1521',
       },
   'OPTIONS': {
    'timeout': 20,
    'threaded': True,
}}

Model:

class ForecastSummary(models.Model):


party=models.ForeignKey(PartyDetailsFinal,on_delete=models.CASCADE,null=True)
annual_price = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                   null=True)
annual_HW = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                null=True)
annual_SW = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                null=True)
annual_total = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                   null=True)
back_maintenance = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'),
                                       blank=True )
forecast_year0 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_year1 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_year2 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_year3 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_year4 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_year5 = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'), blank=True,
                                     null=True)
forecast_total_0to3_years = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'),
                                                blank=True )
forecast_total_0to5_years = models.DecimalField(max_digits=100, decimal_places=5, default=Decimal('0.00000'),
                                                blank=True )

def __str__(self):
    return "Instance Number =" + str(self.party.item_instance_number)

1 Answers1

0

I tryed your CREATE TABLE statement on my 12.2.0.1 database and it worked. See also this question. May be your either use a cx_oracle version that explicitly supports your Oracle DB version or you upgrade your database to Oracle 12.

Beat Lang
  • 31
  • 1