Files
mayan-edms/mayan/apps/file_metadata/migrations/0001_initial.py
2019-04-24 22:44:03 -04:00

102 lines
4.6 KiB
Python

from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
def operation_initialize_file_metadata_settings(apps, schema_editor):
DocumentType = apps.get_model(
app_label='documents', model_name='DocumentType'
)
DocumentTypeSettings = apps.get_model(
app_label='file_metadata', model_name='DocumentTypeSettings'
)
for document_type in DocumentType.objects.using(schema_editor.connection.alias).all():
DocumentTypeSettings.objects.using(
schema_editor.connection.alias
).create(document_type=document_type)
def operation_initialize_file_metadata_settings_reverse(apps, schema_editor):
DocumentTypeSettings = apps.get_model(
app_label='file_metadata', model_name='DocumentTypeSettings'
)
DocumentTypeSettings.objects.using(schema_editor.connection.alias).delete()
class Migration(migrations.Migration):
initial = True
dependencies = [
('documents', '0047_auto_20180917_0737'),
]
operations = [
migrations.CreateModel(
name='DocumentTypeSettings',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('auto_process', models.BooleanField(default=True, verbose_name='Automatically queue newly created documents for processing.')),
('document_type', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='file_metadata_settings', to='documents.DocumentType', verbose_name='Document type')),
],
options={
'verbose_name': 'Document type settings',
'verbose_name_plural': 'Document types settings',
},
),
migrations.CreateModel(
name='DocumentVersionDriverEntry',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('document_version', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='file_metadata_drivers', to='documents.DocumentVersion', verbose_name='Document version')),
],
options={
'ordering': ('document_version', 'driver'),
'verbose_name': 'Document version driver entry',
'verbose_name_plural': 'Document version driver entries',
},
),
migrations.CreateModel(
name='FileMetadataEntry',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('key', models.CharField(db_index=True, help_text='Name of the file metadata entry.', max_length=255, verbose_name='Key')),
('value', models.CharField(db_index=True, help_text='Value of the file metadata entry.', max_length=255, verbose_name='Value')),
('document_version_driver_entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='entries', to='file_metadata.DocumentVersionDriverEntry', verbose_name='Document version driver entry')),
],
options={
'ordering': ('key', 'value'),
'verbose_name': 'File metadata entry',
'verbose_name_plural': 'File metadata entries',
},
),
migrations.CreateModel(
name='StoredDriver',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('driver_path', models.CharField(max_length=255, verbose_name='Driver path')),
('internal_name', models.CharField(db_index=True, max_length=128, verbose_name='Internal name')),
],
options={
'ordering': ('internal_name',),
'verbose_name': 'Driver',
'verbose_name_plural': 'Drivers',
},
),
migrations.AddField(
model_name='documentversiondriverentry',
name='driver',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='driver_entries', to='file_metadata.StoredDriver', verbose_name='Driver'),
),
migrations.AlterUniqueTogether(
name='documentversiondriverentry',
unique_together=set([('driver', 'document_version')]),
),
migrations.RunPython(
code=operation_initialize_file_metadata_settings,
reverse_code=operation_initialize_file_metadata_settings_reverse
)
]