[damned-lies] Added database migrations for Django >= 1.7
- From: Claude Paroz <claudep src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [damned-lies] Added database migrations for Django >= 1.7
- Date: Wed, 9 Sep 2015 15:12:03 +0000 (UTC)
commit 47301d0d8c68b58701d4734578b6f77726feb915
Author: Claude Paroz <claude 2xlibre net>
Date: Wed Sep 9 16:12:48 2015 +0200
Added database migrations for Django >= 1.7
languages/migrations/0001_initial.py | 28 ++++
people/migrations/0001_initial.py | 37 +++++
stats/migrations/0001_initial.py | 211 ++++++++++++++++++++++++++
teams/migrations/0001_initial.py | 53 +++++++
vertimus/migrations/0001_initial.py | 268 ++++++++++++++++++++++++++++++++++
5 files changed, 597 insertions(+), 0 deletions(-)
---
diff --git a/languages/migrations/0001_initial.py b/languages/migrations/0001_initial.py
new file mode 100644
index 0000000..81bca76
--- /dev/null
+++ b/languages/migrations/0001_initial.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('teams', '__first__'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Language',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.CharField(unique=True, max_length=50)),
+ ('locale', models.CharField(unique=True, max_length=15)),
+ ('plurals', models.CharField(max_length=200, blank=True)),
+ ('team', models.ForeignKey(default=None, blank=True, to='teams.Team', null=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'db_table': 'language',
+ },
+ ),
+ ]
diff --git a/languages/migrations/__init__.py b/languages/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/people/migrations/0001_initial.py b/people/migrations/0001_initial.py
new file mode 100644
index 0000000..acc79de
--- /dev/null
+++ b/people/migrations/0001_initial.py
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+from django.conf import settings
+import django.contrib.auth.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('auth', '0006_require_contenttypes_0002'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Person',
+ fields=[
+ ('user_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True,
serialize=False, to=settings.AUTH_USER_MODEL)),
+ ('svn_account', models.SlugField(max_length=20, null=True, blank=True)),
+ ('image', models.URLField(help_text='URL to an image file (.jpg, .png, ...) of an
hackergotchi (max. 100x100 pixels)', null=True, verbose_name='Image', blank=True)),
+ ('use_gravatar', models.BooleanField(default=False, help_text='Display the image of your
gravatar.com account')),
+ ('webpage_url', models.URLField(null=True, verbose_name='Web page', blank=True)),
+ ('irc_nick', models.SlugField(max_length=20, null=True, verbose_name='IRC nickname',
blank=True)),
+ ('bugzilla_account', models.EmailField(help_text="This should be an email address, useful if
not equal to 'E-mail address' field", max_length=254, null=True, verbose_name='Bugzilla account',
blank=True)),
+ ('activation_key', models.CharField(max_length=40, null=True, blank=True)),
+ ],
+ options={
+ 'ordering': ('username',),
+ 'db_table': 'person',
+ },
+ bases=('auth.user',),
+ managers=[
+ ('objects', django.contrib.auth.models.UserManager()),
+ ],
+ ),
+ ]
diff --git a/people/migrations/__init__.py b/people/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/stats/migrations/0001_initial.py b/stats/migrations/0001_initial.py
new file mode 100644
index 0000000..2e39c69
--- /dev/null
+++ b/stats/migrations/0001_initial.py
@@ -0,0 +1,211 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import django.db.models.deletion
+import common.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('people', '0001_initial'),
+ ('languages', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Branch',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.CharField(max_length=50)),
+ ('vcs_subpath', models.CharField(max_length=50, null=True, blank=True)),
+ ('weight', models.IntegerField(default=0, help_text='Smaller weight is displayed first')),
+ ('file_hashes', common.fields.DictionaryField(default='', editable=False, blank=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'db_table': 'branch',
+ 'verbose_name_plural': 'branches',
+ },
+ ),
+ migrations.CreateModel(
+ name='Category',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.CharField(default='default', max_length=30, choices=[('default', 'Default'),
('admin-tools', 'Administration Tools'), ('dev-tools', 'Development Tools'), ('desktop', 'GNOME Desktop'),
('dev-platform', 'GNOME Developer Platform'), ('proposed', 'New Module Proposals'), ('g3-core', 'Core'),
('g3-utils', 'Utils'), ('g3-apps', 'Apps'), ('g3-a11y', 'Accessibility'), ('g3-games', 'Games'),
('g3-backends', 'Backends'), ('g3-dev-tools', 'Development Tools'), ('g3-core-libs', 'Core Libraries'),
('g3-extra-libs', 'Extra Libraries'), ('g2-legacy', 'Legacy Desktop'), ('stable', 'Stable Branches'), ('dev',
'Development Branches')])),
+ ('branch', models.ForeignKey(to='stats.Branch')),
+ ],
+ options={
+ 'db_table': 'category',
+ 'verbose_name_plural': 'categories',
+ },
+ ),
+ migrations.CreateModel(
+ name='Domain',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.CharField(max_length=50)),
+ ('description', models.TextField(null=True, blank=True)),
+ ('dtype', models.CharField(default='ui', max_length=5, choices=[('ui', 'User Interface'),
('doc', 'Documentation')])),
+ ('directory', models.CharField(max_length=50)),
+ ('pot_method', models.CharField(help_text='Leave blank for standard method (intltool for UI
and gnome-doc-utils for DOC)', max_length=100, null=True, blank=True)),
+ ('linguas_location', models.CharField(help_text=b"Use 'no' for no LINGUAS check, or
path/to/file#variable for a non-standard location.\n Leave blank for standard location
(ALL_LINGUAS in LINGUAS/configure.ac/.in for UI and DOC_LINGUAS in Makefile.am for DOC)", max_length=50,
null=True, blank=True)),
+ ('red_filter', models.TextField(help_text='pogrep filter to strip po file from unprioritized
strings (format: location|string, "-" for no filter)', null=True, blank=True)),
+ ],
+ options={
+ 'ordering': ('-dtype', 'name'),
+ 'db_table': 'domain',
+ },
+ ),
+ migrations.CreateModel(
+ name='Information',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('type', models.CharField(max_length=10, choices=[('info', 'Information'), ('warn',
'Warning'), ('error', 'Error'), ('warn-ext', 'Warning (external)'), ('error-ext', 'Error (external)')])),
+ ('description', models.TextField()),
+ ],
+ options={
+ 'db_table': 'information',
+ },
+ ),
+ migrations.CreateModel(
+ name='InformationArchived',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('type', models.CharField(max_length=10, choices=[('info', 'Information'), ('warn',
'Warning'), ('error', 'Error'), ('warn-ext', 'Warning (external)'), ('error-ext', 'Error (external)')])),
+ ('description', models.TextField()),
+ ],
+ options={
+ 'db_table': 'information_archived',
+ },
+ ),
+ migrations.CreateModel(
+ name='Module',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.SlugField(unique=True)),
+ ('homepage', models.URLField(help_text='Automatically updated if the module contains a doap
file.', null=True, blank=True)),
+ ('description', models.TextField(null=True, blank=True)),
+ ('comment', models.TextField(null=True, blank=True)),
+ ('bugs_base', models.CharField(max_length=50, null=True, blank=True)),
+ ('bugs_product', models.CharField(max_length=50, null=True, blank=True)),
+ ('bugs_component', models.CharField(max_length=50, null=True, blank=True)),
+ ('vcs_type', models.CharField(max_length=5, choices=[('cvs', 'CVS'), ('svn', 'Subversion'),
('git', 'Git'), ('hg', 'Mercurial'), ('bzr', 'Bazaar')])),
+ ('vcs_root', models.CharField(max_length=200)),
+ ('vcs_web', models.URLField()),
+ ('ext_platform', models.URLField(help_text='URL to external translation platform, if any',
null=True, blank=True)),
+ ('archived', models.BooleanField(default=False)),
+ ('maintainers', models.ManyToManyField(help_text='Automatically updated if the module
contains a doap file.', related_name='maintains_modules', db_table='module_maintainer', to='people.Person',
blank=True)),
+ ],
+ options={
+ 'ordering': ('name',),
+ 'db_table': 'module',
+ },
+ ),
+ migrations.CreateModel(
+ name='PoFile',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('path', models.CharField(max_length=255, null=True, blank=True)),
+ ('updated', models.DateTimeField(auto_now_add=True)),
+ ('translated', models.IntegerField(default=0)),
+ ('fuzzy', models.IntegerField(default=0)),
+ ('untranslated', models.IntegerField(default=0)),
+ ('figures', common.fields.JSONField(null=True, blank=True)),
+ ('translated_words', models.IntegerField(default=0)),
+ ('fuzzy_words', models.IntegerField(default=0)),
+ ('untranslated_words', models.IntegerField(default=0)),
+ ],
+ options={
+ 'db_table': 'pofile',
+ },
+ ),
+ migrations.CreateModel(
+ name='Release',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.SlugField(max_length=20)),
+ ('description', models.CharField(max_length=50)),
+ ('string_frozen', models.BooleanField(default=False)),
+ ('status', models.CharField(max_length=12, choices=[('official', 'Official'), ('unofficial',
'Unofficial'), ('xternal', 'External')])),
+ ('weight', models.IntegerField(default=0)),
+ ('branches', models.ManyToManyField(related_name='releases', through='stats.Category',
to='stats.Branch')),
+ ],
+ options={
+ 'ordering': ('status', '-name'),
+ 'db_table': 'release',
+ },
+ ),
+ migrations.CreateModel(
+ name='Statistics',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('branch', models.ForeignKey(to='stats.Branch')),
+ ('domain', models.ForeignKey(to='stats.Domain')),
+ ('full_po', models.OneToOneField(related_name='stat_f', null=True,
on_delete=django.db.models.deletion.SET_NULL, to='stats.PoFile')),
+ ('language', models.ForeignKey(to='languages.Language', null=True)),
+ ('part_po', models.OneToOneField(related_name='stat_p', null=True,
on_delete=django.db.models.deletion.SET_NULL, to='stats.PoFile')),
+ ],
+ options={
+ 'db_table': 'statistics',
+ 'verbose_name': 'statistics',
+ 'verbose_name_plural': 'statistics',
+ },
+ ),
+ migrations.CreateModel(
+ name='StatisticsArchived',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('module', models.TextField()),
+ ('type', models.CharField(max_length=3, choices=[('ui', 'User Interface'), ('doc',
'Documentation')])),
+ ('domain', models.TextField()),
+ ('branch', models.TextField()),
+ ('language', models.CharField(max_length=15)),
+ ('date', models.DateTimeField()),
+ ('translated', models.IntegerField(default=0)),
+ ('fuzzy', models.IntegerField(default=0)),
+ ('untranslated', models.IntegerField(default=0)),
+ ],
+ options={
+ 'db_table': 'statistics_archived',
+ },
+ ),
+ migrations.AddField(
+ model_name='informationarchived',
+ name='statistics',
+ field=models.ForeignKey(to='stats.StatisticsArchived'),
+ ),
+ migrations.AddField(
+ model_name='information',
+ name='statistics',
+ field=models.ForeignKey(to='stats.Statistics'),
+ ),
+ migrations.AddField(
+ model_name='domain',
+ name='module',
+ field=models.ForeignKey(to='stats.Module'),
+ ),
+ migrations.AddField(
+ model_name='category',
+ name='release',
+ field=models.ForeignKey(to='stats.Release'),
+ ),
+ migrations.AddField(
+ model_name='branch',
+ name='module',
+ field=models.ForeignKey(to='stats.Module'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='statistics',
+ unique_together=set([('branch', 'domain', 'language')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='category',
+ unique_together=set([('release', 'branch')]),
+ ),
+ migrations.AlterUniqueTogether(
+ name='branch',
+ unique_together=set([('name', 'module')]),
+ ),
+ ]
diff --git a/stats/migrations/__init__.py b/stats/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/teams/migrations/0001_initial.py b/teams/migrations/0001_initial.py
new file mode 100644
index 0000000..1e59d6f
--- /dev/null
+++ b/teams/migrations/0001_initial.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('people', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Role',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('role', models.CharField(default='translator', max_length=15, choices=[('translator',
'Translator'), ('reviewer', 'Reviewer'), ('committer', 'Committer'), ('coordinator', 'Coordinator')])),
+ ('is_active', models.BooleanField(default=True)),
+ ('person', models.ForeignKey(to='people.Person')),
+ ],
+ options={
+ 'db_table': 'role',
+ },
+ ),
+ migrations.CreateModel(
+ name='Team',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.CharField(max_length=80)),
+ ('description', models.TextField()),
+ ('use_workflow', models.BooleanField(default=True)),
+ ('presentation', models.TextField(verbose_name='Presentation', blank=True)),
+ ('webpage_url', models.URLField(null=True, verbose_name='Web page', blank=True)),
+ ('mailing_list', models.EmailField(max_length=254, null=True, verbose_name='Mailing list',
blank=True)),
+ ('mailing_list_subscribe', models.URLField(null=True, verbose_name='URL to subscribe',
blank=True)),
+ ('members', models.ManyToManyField(related_name='teams', through='teams.Role',
to='people.Person')),
+ ],
+ options={
+ 'ordering': ('description',),
+ 'db_table': 'team',
+ },
+ ),
+ migrations.AddField(
+ model_name='role',
+ name='team',
+ field=models.ForeignKey(to='teams.Team'),
+ ),
+ migrations.AlterUniqueTogether(
+ name='role',
+ unique_together=set([('team', 'person')]),
+ ),
+ ]
diff --git a/teams/migrations/__init__.py b/teams/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/vertimus/migrations/0001_initial.py b/vertimus/migrations/0001_initial.py
new file mode 100644
index 0000000..e0779b8
--- /dev/null
+++ b/vertimus/migrations/0001_initial.py
@@ -0,0 +1,268 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+import vertimus.models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('stats', '__first__'),
+ ('people', '__first__'),
+ ('languages', '__first__'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Action',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.SlugField(max_length=8)),
+ ('created', models.DateTimeField(editable=False)),
+ ('comment', models.TextField(null=True, blank=True)),
+ ('file', models.FileField(null=True, upload_to=vertimus.models.generate_upload_filename,
blank=True)),
+ ('merged_file', models.OneToOneField(null=True, blank=True, to='stats.PoFile')),
+ ('person', models.ForeignKey(to='people.Person')),
+ ],
+ options={
+ 'db_table': 'action',
+ 'verbose_name': 'action',
+ },
+ ),
+ migrations.CreateModel(
+ name='ActionArchived',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.SlugField(max_length=8)),
+ ('created', models.DateTimeField(editable=False)),
+ ('comment', models.TextField(null=True, blank=True)),
+ ('file', models.FileField(null=True, upload_to=vertimus.models.generate_upload_filename,
blank=True)),
+ ('sequence', models.IntegerField(null=True)),
+ ('merged_file', models.OneToOneField(null=True, blank=True, to='stats.PoFile')),
+ ('person', models.ForeignKey(to='people.Person')),
+ ],
+ options={
+ 'db_table': 'action_archived',
+ },
+ ),
+ migrations.CreateModel(
+ name='State',
+ fields=[
+ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True,
primary_key=True)),
+ ('name', models.SlugField(default='None', max_length=20)),
+ ('updated', models.DateTimeField(auto_now=True)),
+ ('branch', models.ForeignKey(to='stats.Branch')),
+ ('domain', models.ForeignKey(to='stats.Domain')),
+ ('language', models.ForeignKey(to='languages.Language')),
+ ('person', models.ForeignKey(default=None, to='people.Person', null=True)),
+ ],
+ options={
+ 'db_table': 'state',
+ 'verbose_name': 'state',
+ },
+ ),
+ migrations.AddField(
+ model_name='actionarchived',
+ name='state_db',
+ field=models.ForeignKey(to='vertimus.State'),
+ ),
+ migrations.AddField(
+ model_name='action',
+ name='state_db',
+ field=models.ForeignKey(to='vertimus.State'),
+ ),
+ migrations.CreateModel(
+ name='ActionAA',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionCI',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionIC',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionRC',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionRP',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionRT',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionTC',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionTR',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionUNDO',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionUP',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionUT',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='ActionWC',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.action',),
+ ),
+ migrations.CreateModel(
+ name='StateCommitted',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateCommitting',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateNone',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateProofread',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateProofreading',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateToCommit',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateToReview',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateTranslated',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.CreateModel(
+ name='StateTranslating',
+ fields=[
+ ],
+ options={
+ 'proxy': True,
+ },
+ bases=('vertimus.state',),
+ ),
+ migrations.AlterUniqueTogether(
+ name='state',
+ unique_together=set([('branch', 'domain', 'language')]),
+ ),
+ ]
diff --git a/vertimus/migrations/__init__.py b/vertimus/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]