102 lines
4.6 KiB
Python
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
|
|
)
|
|
]
|