#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 django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. 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.