Explorar o código

HUE-8530 [organization] Update migration scripts part 1

        Updated:
              vim desktop/core/src/desktop/migrations/0001_initial.py
              -->
              bases=(models.Model, django_prometheus.models.ExportModelOperationsMixin('Document2')),

            Skipped for now:
            ./build/env/bin/hue makemigrations jobsub
            ./build/env/bin/hue makemigrations oozie
            ./build/env/bin/hue makemigrations pig
            ./build/env/bin/hue makemigrations search
Romain %!s(int64=5) %!d(string=hai) anos
pai
achega
407b12e8c5

+ 0 - 106
apps/beeswax/src/beeswax/org_migrations/0001_initial.py

@@ -1,106 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2020-01-02 06:10
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    initial = True
-
-    dependencies = [
-        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='MetaInstall',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('installed_example', models.BooleanField(default=False)),
-            ],
-        ),
-        migrations.CreateModel(
-            name='QueryHistory',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('query', models.TextField()),
-                ('last_state', models.IntegerField(db_index=True)),
-                ('has_results', models.BooleanField(default=False)),
-                ('submission_date', models.DateTimeField(auto_now_add=True)),
-                ('server_id', models.CharField(max_length=1024, null=True)),
-                ('server_guid', models.CharField(default=None, max_length=1024, null=True)),
-                ('statement_number', models.SmallIntegerField(default=0)),
-                ('operation_type', models.SmallIntegerField(null=True)),
-                ('modified_row_count', models.FloatField(null=True)),
-                ('log_context', models.CharField(max_length=1024, null=True)),
-                ('server_host', models.CharField(default='', help_text='Host of the query server.', max_length=128)),
-                ('server_port', models.PositiveIntegerField(default=10000, help_text='Port of the query server.')),
-                ('server_name', models.CharField(default='', help_text='Name of the query server.', max_length=128)),
-                ('server_type', models.CharField(choices=[('beeswax', 'Beeswax'), ('hiveserver2', 'Hive Server 2'), ('mysql', 'MySQL'), ('postgresql', 'PostgreSQL'), ('sqlite', 'sqlite'), ('oracle', 'oracle')], default='beeswax', help_text='Type of the query server.', max_length=128)),
-                ('query_type', models.SmallIntegerField(choices=[(0, 'HQL'), (1, 'IMPALA')], default=0, help_text='Type of the query.')),
-                ('notify', models.BooleanField(default=False)),
-                ('is_redacted', models.BooleanField(default=False)),
-                ('extra', models.TextField(default='{}')),
-                ('is_cleared', models.BooleanField(default=False)),
-            ],
-            options={
-                'ordering': ['-submission_date'],
-            },
-        ),
-        migrations.CreateModel(
-            name='SavedQuery',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('type', models.IntegerField()),
-                ('data', models.TextField(max_length=65536)),
-                ('name', models.CharField(max_length=80)),
-                ('desc', models.TextField(max_length=1024)),
-                ('mtime', models.DateTimeField(auto_now=True)),
-                ('is_auto', models.BooleanField(db_index=True, default=False)),
-                ('is_trashed', models.BooleanField(db_index=True, default=False, help_text='If this query is trashed.', verbose_name='Is trashed')),
-                ('is_redacted', models.BooleanField(default=False)),
-                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
-            ],
-            options={
-                'ordering': ['-mtime'],
-            },
-        ),
-        migrations.CreateModel(
-            name='Session',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('status_code', models.PositiveSmallIntegerField()),
-                ('secret', models.TextField(max_length='100')),
-                ('guid', models.TextField(max_length='100')),
-                ('server_protocol_version', models.SmallIntegerField(default=0)),
-                ('last_used', models.DateTimeField(auto_now=True, db_index=True, verbose_name='Last used')),
-                ('application', models.CharField(default='beeswax', help_text='Application we communicate with.', max_length=128)),
-                ('properties', models.TextField(default='{}')),
-                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
-            ],
-        ),
-        migrations.AddField(
-            model_name='queryhistory',
-            name='design',
-            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='beeswax.SavedQuery'),
-        ),
-        migrations.AddField(
-            model_name='queryhistory',
-            name='owner',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
-        ),
-        migrations.CreateModel(
-            name='HiveServerQueryHistory',
-            fields=[
-            ],
-            options={
-                'proxy': True,
-                'indexes': [],
-            },
-            bases=('beeswax.queryhistory',),
-        ),
-    ]

+ 0 - 0
apps/beeswax/src/beeswax/org_migrations/__init__.py


+ 5 - 18
apps/useradmin/src/useradmin/org_migrations/0001_initial.py

@@ -1,12 +1,12 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2020-01-15 19:35
+# Generated by Django 1.11.20 on 2020-01-30 18:38
 from __future__ import unicode_literals
 
 from django.conf import settings
 from django.db import migrations, models
 import django.db.models.deletion
 import django.utils.timezone
-import useradmin.models2
+import useradmin.organization
 
 
 class Migration(migrations.Migration):
@@ -14,7 +14,6 @@ class Migration(migrations.Migration):
     initial = True
 
     dependencies = [
-        ('desktop', '0001_initial'),
         ('auth', '0008_alter_user_username_max_length'),
     ]
 
@@ -41,7 +40,7 @@ class Migration(migrations.Migration):
                 'abstract': False,
             },
             managers=[
-                ('objects', useradmin.models2.UserManager()),
+                ('objects', useradmin.organization.UserManager()),
             ],
         ),
         migrations.CreateModel(
@@ -57,11 +56,8 @@ class Migration(migrations.Migration):
                 ('app', models.CharField(max_length=30)),
                 ('action', models.CharField(max_length=100)),
                 ('description', models.CharField(max_length=255)),
-                ('connector', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='desktop.Connector')),
             ],
             options={
-                'verbose_name': 'Connector permission',
-                'verbose_name_plural': 'Connector permissions',
                 'abstract': False,
             },
         ),
@@ -76,14 +72,14 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('name', models.CharField(help_text='The name of the organization', max_length=200, unique=True)),
-                ('uuid', models.CharField(default=useradmin.models2.uuid_default, max_length=36, unique=True)),
+                ('uuid', models.CharField(default=useradmin.organization.uuid_default, max_length=36, unique=True)),
                 ('domain', models.CharField(help_text='The domain name of the organization, e.g. gethue.com', max_length=200, unique=True)),
                 ('customer_id', models.CharField(default=None, max_length=128, null=True, verbose_name='Customer id')),
                 ('is_active', models.BooleanField(default=True)),
                 ('is_multi_user', models.BooleanField(default=True)),
             ],
             managers=[
-                ('objects', useradmin.models2.OrganizationManager()),
+                ('objects', useradmin.organization.OrganizationManager()),
             ],
         ),
         migrations.CreateModel(
@@ -121,11 +117,6 @@ class Migration(migrations.Migration):
             name='groups',
             field=models.ManyToManyField(through='useradmin.GroupPermission', to='useradmin.OrganizationGroup'),
         ),
-        migrations.AddField(
-            model_name='huepermission',
-            name='organization',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='useradmin.Organization'),
-        ),
         migrations.AddField(
             model_name='grouppermission',
             name='group',
@@ -155,8 +146,4 @@ class Migration(migrations.Migration):
             name='organizationgroup',
             unique_together=set([('name', 'organization')]),
         ),
-        migrations.AlterUniqueTogether(
-            name='huepermission',
-            unique_together=set([('connector', 'action', 'organization')]),
-        ),
     ]

+ 62 - 1
desktop/core/src/desktop/org_migrations/0001_initial.py

@@ -1,9 +1,11 @@
 # -*- coding: utf-8 -*-
-# Generated by Django 1.11.20 on 2020-01-15 19:35
+# Generated by Django 1.11.20 on 2020-01-30 18:38
 from __future__ import unicode_literals
 
 import desktop.models
+from django.conf import settings
 from django.db import migrations, models
+import django.db.models.deletion
 import django_prometheus.models
 
 
@@ -12,6 +14,9 @@ class Migration(migrations.Migration):
     initial = True
 
     dependencies = [
+        ('contenttypes', '0002_remove_content_type_name'),
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+        ('useradmin', '0001_initial'),
     ]
 
     operations = [
@@ -24,6 +29,7 @@ class Migration(migrations.Migration):
                 ('dialect', models.CharField(db_index=True, help_text='Type of connector, e.g. hive, mysql... ', max_length=32)),
                 ('settings', models.TextField(default='{}')),
                 ('last_modified', models.DateTimeField(auto_now=True, db_index=True, verbose_name='Time last modified')),
+                ('organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='useradmin.Organization')),
             ],
         ),
         migrations.CreateModel(
@@ -33,6 +39,8 @@ class Migration(migrations.Migration):
                 ('app', models.CharField(db_index=True, help_text='App that this configuration belongs to.', max_length=32)),
                 ('properties', models.TextField(default='[]', help_text='JSON-formatted default properties values.')),
                 ('is_default', models.BooleanField(db_index=True, default=False)),
+                ('groups', models.ManyToManyField(db_index=True, db_table='defaultconfiguration_groups', to='useradmin.OrganizationGroup')),
+                ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
             options={
                 'ordering': ['app', '-is_default', 'user'],
@@ -48,6 +56,8 @@ class Migration(migrations.Migration):
                 ('version', models.SmallIntegerField(default=1, verbose_name='Schema version')),
                 ('extra', models.TextField(default='')),
                 ('object_id', models.PositiveIntegerField()),
+                ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
+                ('owner', models.ForeignKey(help_text='User who can own the job.', on_delete=django.db.models.deletion.CASCADE, related_name='doc_owner', to=settings.AUTH_USER_MODEL, verbose_name='Owner')),
             ],
         ),
         migrations.CreateModel(
@@ -66,10 +76,14 @@ class Migration(migrations.Migration):
                 ('is_history', models.BooleanField(db_index=True, default=False)),
                 ('is_managed', models.BooleanField(db_index=True, default=False, verbose_name='If managed under the cover by Hue and never by the user')),
                 ('is_trashed', models.NullBooleanField(db_index=True, default=False, verbose_name='True if trashed')),
+                ('dependencies', models.ManyToManyField(db_index=True, related_name='dependents', to='desktop.Document2')),
+                ('owner', models.ForeignKey(help_text='Creator.', on_delete=django.db.models.deletion.CASCADE, related_name='doc2_owner', to=settings.AUTH_USER_MODEL, verbose_name='Owner')),
+                ('parent_directory', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='desktop.Document2')),
             ],
             options={
                 'ordering': ['-last_modified', 'name'],
             },
+            # bases=(models.Model, django_prometheus.models.Mixin),
             bases=(models.Model, django_prometheus.models.ExportModelOperationsMixin('Document2')),
         ),
         migrations.CreateModel(
@@ -78,6 +92,9 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('perms', models.CharField(choices=[('read', 'read'), ('write', 'write'), ('comment', 'comment'), ('link_read', 'link read'), ('link_write', 'link write')], db_index=True, default='read', max_length=10)),
                 ('is_link_on', models.BooleanField(default=False)),
+                ('doc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='desktop.Document2')),
+                ('groups', models.ManyToManyField(db_index=True, db_table='documentpermission2_groups', to='useradmin.OrganizationGroup')),
+                ('users', models.ManyToManyField(db_index=True, db_table='documentpermission2_users', to=settings.AUTH_USER_MODEL)),
             ],
         ),
         migrations.CreateModel(
@@ -85,6 +102,9 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('perms', models.CharField(choices=[('read', 'read'), ('write', 'write')], default='read', max_length=10)),
+                ('doc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='desktop.Document')),
+                ('groups', models.ManyToManyField(db_index=True, db_table='documentpermission_groups', to='useradmin.OrganizationGroup')),
+                ('users', models.ManyToManyField(db_index=True, db_table='documentpermission_users', to=settings.AUTH_USER_MODEL)),
             ],
         ),
         migrations.CreateModel(
@@ -92,6 +112,7 @@ class Migration(migrations.Migration):
             fields=[
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('tag', models.SlugField()),
+                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
         ),
         migrations.CreateModel(
@@ -108,6 +129,46 @@ class Migration(migrations.Migration):
                 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                 ('key', models.CharField(max_length=20)),
                 ('value', models.TextField(max_length=4096)),
+                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
         ),
+        migrations.AddField(
+            model_name='document',
+            name='tags',
+            field=models.ManyToManyField(db_index=True, to='desktop.DocumentTag'),
+        ),
+        migrations.CreateModel(
+            name='Directory',
+            fields=[
+            ],
+            options={
+                'proxy': True,
+                'indexes': [],
+            },
+            bases=('desktop.document2',),
+        ),
+        migrations.AlterUniqueTogether(
+            name='documenttag',
+            unique_together=set([('owner', 'tag')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='documentpermission',
+            unique_together=set([('doc', 'perms')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='document2permission',
+            unique_together=set([('doc', 'perms')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='document2',
+            unique_together=set([('uuid', 'version', 'is_history')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='document',
+            unique_together=set([('content_type', 'object_id')]),
+        ),
+        migrations.AlterUniqueTogether(
+            name='connector',
+            unique_together=set([('name', 'organization')]),
+        ),
     ]