#27871: Django keeps making the same migration over and over again
-------------------------------+--------------------------------------
Reporter: Kyle Agronick | Owner: nobody
Type: Bug | Status: new
Component: Migrations | Version: 1.10
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Old description:
> Here are all the models:
>
> {{{
>
> from django.contrib.auth.models import User
> from django.db import models
>
> job_state = (('P', 'Pending'), ('A', 'Active'), ('C', 'Completed'), ('F',
> 'Failed'))
> app_type = (('R', 'RX'), ('W', 'WAR'))
> server_types = #taken out
>
> class JobGroup(models.Model):
> job_type = models.CharField(max_length=100, db_index=True)
> created_by = models.ForeignKey(User)
> queued_date = models.DateTimeField(null=True, db_index=True)
> created_date = models.DateTimeField(auto_now_add=True, db_index=True)
>
> class JobParameter(models.Model):
> job_group = models.ForeignKey(JobGroup, related_name='job_param',
> on_delete=models.CASCADE)
> name = models.CharField(max_length=100, db_index=True)
> value = models.TextField()
>
> def split_values(self):
> if ',' in self.value and isinstance(self.value, str):
> return self.value.split(', ')
> else:
> return [self.value]
>
> class Meta:
> unique_together = ('job_group', 'name')
>
> class Job(models.Model):
> job_group = models.ForeignKey(JobGroup, related_name='jobs',
> on_delete=models.CASCADE)
> state = models.CharField(max_length=1, choices=job_state,
> default='P', db_index=True)
> start_date = models.DateTimeField(null=True, db_index=True)
> end_date = models.DateTimeField(null=True)
> store = models.CharField(max_length=40, db_index=True)
> payload = models.TextField()
>
> def get_full_state(self):
> return self.get_state_display() if self.state in dict(job_state)
> else 'Unknown'
>
> class Meta:
> permissions = (
> ('deployment_job', 'Access Deployment job'),
> ('services_job', 'Access System Services job'),
> ('offline_status_job', 'Access Offline Status job'),
> )
>
> class JobLog(models.Model):
> job = models.ForeignKey(Job, related_name='logs',
> on_delete=models.CASCADE)
> command = models.TextField()
> command_output = models.TextField()
> result = models.BooleanField(default=False)
>
> class Service(models.Model):
> service_name = models.CharField(max_length=40)
> human_readable_name = models.CharField(max_length=40)
> server_type = models.CharField(choices=server_types, max_length=5)
>
> def __str__(self):
> return self.human_readable_name
>
> class Meta:
> ordering = ['human_readable_name']
> unique_together = ['service_name', 'server_type']
> }}}
New description:
--
Comment (by Kyle Agronick):
Here are all the models:
{{{
from django.contrib.auth.models import User
from django.db import models
job_state = (('P', 'Pending'), ('A', 'Active'), ('C', 'Completed'), ('F',
'Failed'))
app_type = (('R', 'RX'), ('W', 'WAR'))
server_types = #taken out
class JobGroup(models.Model):
job_type = models.CharField(max_length=100, db_index=True)
created_by = models.ForeignKey(User)
queued_date = models.DateTimeField(null=True, db_index=True)
created_date = models.DateTimeField(auto_now_add=True, db_index=True)
class JobParameter(models.Model):
job_group = models.ForeignKey(JobGroup, related_name='job_param',
on_delete=models.CASCADE)
name = models.CharField(max_length=100, db_index=True)
value = models.TextField()
def split_values(self):
if ',' in self.value and isinstance(self.value, str):
return self.value.split(', ')
else:
return [self.value]
class Meta:
unique_together = ('job_group', 'name')
class Job(models.Model):
job_group = models.ForeignKey(JobGroup, related_name='jobs',
on_delete=models.CASCADE)
state = models.CharField(max_length=1, choices=job_state, default='P',
db_index=True)
start_date = models.DateTimeField(null=True, db_index=True)
end_date = models.DateTimeField(null=True)
store = models.CharField(max_length=40, db_index=True)
payload = models.TextField()
def get_full_state(self):
return self.get_state_display() if self.state in dict(job_state)
else 'Unknown'
class Meta:
permissions = (
('deployment_job', 'Access Deployment job'),
('services_job', 'Access System Services job'),
('offline_status_job', 'Access Offline Status job'),
)
class JobLog(models.Model):
job = models.ForeignKey(Job, related_name='logs',
on_delete=models.CASCADE)
command = models.TextField()
command_output = models.TextField()
result = models.BooleanField(default=False)
class Service(models.Model):
service_name = models.CharField(max_length=40)
human_readable_name = models.CharField(max_length=40)
server_type = models.CharField(choices=server_types, max_length=5)
def __str__(self):
return self.human_readable_name
class Meta:
ordering = ['human_readable_name']
unique_together = ['service_name', 'server_type']
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/27871#comment:6>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/066.b3a1c9ab9df8ba957ce02a7e68b43c36%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.