class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='FileRollback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('target', models.CharField(default=None, max_length=244, verbose_name='远程主机')), ('cur_path', models.CharField(max_length=244)), ('bak_path', models.CharField(max_length=244)), ('file_tag', models.CharField(max_length=244, verbose_name='文件标签')), ('remark', models.TextField(blank=True, max_length=50, verbose_name='备注')), ('is_group', models.BooleanField(default=False)), ], options={ 'verbose_name': '文件备份', 'verbose_name_plural': '文件备份管理', 'ordering': ['-id'], 'default_permissions': (), }, ), migrations.CreateModel( name='FileUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('target', models.CharField(max_length=244, verbose_name='远程主机')), ('file_path', models.FileField(upload_to=deploy.models.file_upload_dir_path, verbose_name='文件上传')), ('remote_path', models.CharField(max_length=244, verbose_name='远程路径')), ('file_tag', models.CharField(max_length=244, unique=True, verbose_name='文件标签')), ('remark', models.TextField(blank=True, max_length=50, verbose_name='备注')), ], options={ 'verbose_name': '文件上传', 'verbose_name_plural': '文件上传管理', 'permissions': (('view_filemanage', '查看文件管理'), ('edit_fileupload', '管理文件上传'), ('edit_filedownload', '管理文件下载')), 'default_permissions': (), }, ), migrations.CreateModel( name='ModuleAttchment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('attchment', models.FileField(blank=True, null=True, storage=deploy.storage.FileStorage(), upload_to='salt/module/EEXhe5M7tEDwG79YD97E6rFTTlwPh3qBjlfq84NSaysc7qXeyHQgc4mnTxBWTSbSbmTQG75pcvl46vmC', verbose_name='模块上传')), ('upload_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='上传时间')), ], options={ 'default_permissions': (), }, ), migrations.CreateModel( name='ModuleUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, unique=True, verbose_name='模块名称')), ('module', models.CharField(max_length=50, verbose_name='调用模块')), ('module_path', models.CharField(blank=True, max_length=255, null=True, verbose_name='模块路径')), ('visible', models.IntegerField(blank=True, default=0, null=True, verbose_name='可见等级')), ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), ('modify_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), ('remark', models.CharField(blank=True, max_length=255, verbose_name='备注')), ], options={ 'verbose_name': 'Salt模块', 'verbose_name_plural': 'Salt模块管理', 'permissions': (('edit_module', '管理Salt模块'),), 'default_permissions': (), }, ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('pname', models.CharField(max_length=255, unique=True, verbose_name='项目名称')), ('name', models.CharField(max_length=255, unique=True, verbose_name='项目')), ('src', models.CharField(max_length=255, verbose_name='源地址')), ('src_user', models.CharField(blank=True, default=None, max_length=80, null=True, verbose_name='源用户')), ('src_passwd', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='源密码')), ('path', models.CharField(max_length=255, verbose_name='项目路径')), ('process', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='项目进程')), ('salt_test', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='测试环境')), ('salt_group', models.CharField(max_length=255, verbose_name='正式环境')), ], options={ 'verbose_name': '项目', 'verbose_name_plural': '项目管理', 'ordering': ['-id'], 'permissions': (('view_project', '查看项目'), ('edit_project', '管理项目')), 'default_permissions': (), }, ), migrations.CreateModel( name='ProjectRollback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('tag', models.CharField(max_length=100, verbose_name='标签')), ('env', models.CharField(max_length=1, verbose_name='发布环境')), ], options={ 'ordering': ['-id'], 'default_permissions': (), }, ), migrations.CreateModel( name='SaltGroup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('nickname', models.CharField(max_length=80, unique=True, verbose_name='Salt分组')), ('groupname', models.CharField(max_length=80, unique=True)), ], options={ 'verbose_name': 'Salt分组', 'verbose_name_plural': 'Salt分组管理', 'permissions': (('edit_saltgroup', '管理Salt主机分组'),), 'default_permissions': (), }, ), migrations.CreateModel( name='SaltHost', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('hostname', models.CharField(max_length=80, unique=True, verbose_name='主机名称')), ('alive', models.BooleanField(default=False, verbose_name='连通状态')), ('alive_time_last', models.DateTimeField(auto_now=True)), ('alive_time_now', models.DateTimeField(auto_now=True)), ('status', models.BooleanField(default=False, verbose_name='是否加入salt管理')), ], options={ 'verbose_name': 'Salt主机授权', 'verbose_name_plural': 'Salt主机授权管理', 'permissions': (('view_deploy', '查看主机部署'), ('edit_deploy', '管理主机部署'), ('edit_salthost', '管理Salt主机')), 'default_permissions': (), }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='FileRollback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('target', models.CharField(default=None, max_length=244, verbose_name='\u8fdc\u7a0b\u4e3b\u673a')), ('cur_path', models.CharField(max_length=244)), ('bak_path', models.CharField(max_length=244)), ('file_tag', models.CharField(max_length=244, verbose_name='\u6587\u4ef6\u6807\u7b7e')), ('remark', models.TextField(blank=True, max_length=50, verbose_name='\u5907\u6ce8')), ('is_group', models.BooleanField(default=False)), ], options={ 'ordering': ['-id'], 'default_permissions': (), 'verbose_name': '\u6587\u4ef6\u5907\u4efd', 'verbose_name_plural': '\u6587\u4ef6\u5907\u4efd\u7ba1\u7406', }, ), migrations.CreateModel( name='FileUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('target', models.CharField(max_length=244, verbose_name='\u8fdc\u7a0b\u4e3b\u673a')), ('file_path', models.FileField(upload_to=deploy.models.file_upload_dir_path, verbose_name='\u6587\u4ef6\u4e0a\u4f20')), ('remote_path', models.CharField(max_length=244, verbose_name='\u8fdc\u7a0b\u8def\u5f84')), ('file_tag', models.CharField(max_length=244, unique=True, verbose_name='\u6587\u4ef6\u6807\u7b7e')), ('remark', models.TextField(blank=True, max_length=50, verbose_name='\u5907\u6ce8')), ], options={ 'default_permissions': (), 'verbose_name': '\u6587\u4ef6\u4e0a\u4f20', 'verbose_name_plural': '\u6587\u4ef6\u4e0a\u4f20\u7ba1\u7406', 'permissions': (('view_filemanage', '\u67e5\u770b\u6587\u4ef6\u7ba1\u7406'), ('edit_fileupload', '\u7ba1\u7406\u6587\u4ef6\u4e0a\u4f20'), ('edit_filedownload', '\u7ba1\u7406\u6587\u4ef6\u4e0b\u8f7d')), }, ), migrations.CreateModel( name='ModuleAttchment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('attchment', models.FileField( blank=True, null=True, storage=deploy.storage.FileStorage(), upload_to= 'salt/module/3nrxGWVbeqrGAyj7sp8HxQ7v6UjUpvQWSqrD9DR3c3WJwpqxEQ6YrgNgF8pjxHpPRUjJpHpnjj8y7MVu', verbose_name='\u6a21\u5757\u4e0a\u4f20')), ('upload_time', models.DateTimeField( default=django.utils.timezone.now, verbose_name='\u4e0a\u4f20\u65f6\u95f4')), ], options={ 'default_permissions': (), }, ), migrations.CreateModel( name='ModuleUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, unique=True, verbose_name='\u6a21\u5757\u540d\u79f0')), ('module', models.CharField(max_length=50, verbose_name='\u8c03\u7528\u6a21\u5757')), ('module_path', models.CharField(blank=True, max_length=255, null=True, verbose_name='\u6a21\u5757\u8def\u5f84')), ('visible', models.IntegerField(blank=True, default=0, null=True, verbose_name='\u53ef\u89c1\u7b49\u7ea7')), ('created_time', models.DateTimeField( default=django.utils.timezone.now, verbose_name='\u521b\u5efa\u65f6\u95f4')), ('modify_time', models.DateTimeField( auto_now=True, verbose_name='\u4fee\u6539\u65f6\u95f4')), ('remark', models.CharField(blank=True, max_length=255, verbose_name='\u5907\u6ce8')), ], options={ 'default_permissions': (), 'verbose_name': 'Salt\u6a21\u5757', 'verbose_name_plural': 'Salt\u6a21\u5757\u7ba1\u7406', 'permissions': (('edit_module', '\u7ba1\u7406Salt\u6a21\u5757'), ), }, ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('pname', models.CharField(max_length=255, unique=True, verbose_name='\u9879\u76ee\u540d\u79f0')), ('name', models.CharField(max_length=255, unique=True, verbose_name='\u9879\u76ee')), ('src', models.CharField(max_length=255, verbose_name='\u6e90\u5730\u5740')), ('src_user', models.CharField(blank=True, default=None, max_length=80, null=True, verbose_name='\u6e90\u7528\u6237')), ('src_passwd', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='\u6e90\u5bc6\u7801')), ('path', models.CharField(max_length=255, verbose_name='\u9879\u76ee\u8def\u5f84')), ('process', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='\u9879\u76ee\u8fdb\u7a0b')), ('salt_test', models.CharField(blank=True, default=None, max_length=255, null=True, verbose_name='\u6d4b\u8bd5\u73af\u5883')), ('salt_group', models.CharField(max_length=255, verbose_name='\u6b63\u5f0f\u73af\u5883')), ], options={ 'ordering': ['-id'], 'verbose_name_plural': '\u9879\u76ee\u7ba1\u7406', 'default_permissions': (), 'verbose_name': '\u9879\u76ee', 'permissions': (('view_project', '\u67e5\u770b\u9879\u76ee'), ('edit_project', '\u7ba1\u7406\u9879\u76ee')), }, ), migrations.CreateModel( name='ProjectRollback', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('tag', models.CharField(max_length=100, verbose_name='\u6807\u7b7e')), ('env', models.CharField(max_length=1, verbose_name='\u53d1\u5e03\u73af\u5883')), ], options={ 'ordering': ['-id'], 'default_permissions': (), }, ), migrations.CreateModel( name='SaltGroup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('nickname', models.CharField(max_length=80, unique=True, verbose_name='Salt\u5206\u7ec4')), ('groupname', models.CharField(max_length=80, unique=True)), ], options={ 'default_permissions': (), 'verbose_name': 'Salt\u5206\u7ec4', 'verbose_name_plural': 'Salt\u5206\u7ec4\u7ba1\u7406', 'permissions': (('edit_saltgroup', '\u7ba1\u7406Salt\u4e3b\u673a\u5206\u7ec4'), ), }, ), migrations.CreateModel( name='SaltHost', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('hostname', models.CharField(max_length=80, unique=True, verbose_name='\u4e3b\u673a\u540d\u79f0')), ('alive', models.BooleanField(default=False, verbose_name='\u8fde\u901a\u72b6\u6001')), ('alive_time_last', models.DateTimeField(auto_now=True)), ('alive_time_now', models.DateTimeField(auto_now=True)), ('status', models.BooleanField( default=False, verbose_name='\u662f\u5426\u52a0\u5165salt\u7ba1\u7406')), ], options={ 'default_permissions': (), 'verbose_name': 'Salt\u4e3b\u673a\u6388\u6743', 'verbose_name_plural': 'Salt\u4e3b\u673a\u6388\u6743\u7ba1\u7406', 'permissions': (('view_deploy', '\u67e5\u770b\u4e3b\u673a\u90e8\u7f72'), ('edit_deploy', '\u7ba1\u7406\u4e3b\u673a\u90e8\u7f72'), ('edit_salthost', '\u7ba1\u7406Salt\u4e3b\u673a')), }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='impex', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True, verbose_name='impex|name')), ('description', models.TextField(max_length=500, verbose_name='impex|description')), ('packagesum', models.CharField(blank=True, max_length=40, null=True, verbose_name='impex|packagesum')), ('filename', models.FileField(blank=True, default=None, null=True, upload_to=deploy.models.content_file_name, verbose_name='impex|filename')), ('date', models.DateTimeField(auto_now=True, verbose_name='impex|date')), ('exclusive_editor', models.CharField(choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='impex|exclusive editor')), ], options={ 'ordering': ['name'], 'verbose_name': 'impex|import/export', 'verbose_name_plural': 'impex|imports/exports', }, ), migrations.CreateModel( name='package', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='package|name')), ('description', models.CharField(max_length=500, verbose_name='package|description')), ('command', models.TextField(help_text='package|command help text', max_length=1000, verbose_name='package|command')), ('packagesum', models.CharField(blank=True, max_length=40, null=True, verbose_name='package|packagesum')), ('filename', models.FileField(blank=True, null=True, upload_to=deploy.models.content_file_name, verbose_name='package|filename')), ('ignoreperiod', models.CharField( choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='package|ignore deploy period')), ('public', models.CharField(choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='package| public package')), ('exclusive_editor', models.CharField(choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='package|exclusive editor')), ], options={ 'ordering': ['name'], 'verbose_name': 'package|deployment package', 'verbose_name_plural': 'package|deployment packages', }, ), migrations.CreateModel( name='packagecondition', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='packagecondition|name')), ('depends', models.CharField(choices=[ (b'installed', 'installed'), (b'notinstalled', 'notinstalled'), (b'lower', 'lower'), (b'higher', 'higher'), (b'system_is', 'operating_system_is'), (b'system_not', 'operating_system_not'), (b'is_W64_bits', 'is_W64_bits'), (b'is_W32_bits', 'is_W32_bits'), (b'language_is', 'language_is') ], default=b'installed', max_length=12, verbose_name='packagecondition|depends')), ('softwarename', models.CharField( blank=True, default=b'undefined', help_text='packagecondition|softwarename help text', max_length=100, null=True, verbose_name='packagecondition|softwarename')), ('softwareversion', models.CharField( blank=True, default=b'undefined', help_text='packagecondition|softwareversion help text', max_length=500, null=True, verbose_name='packagecondition|softwareversion')), ('exclusive_editor', models.CharField( choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='packagecondition|exclusive editor')), ], options={ 'ordering': ['name'], 'verbose_name': 'packagecondition|package condition', 'verbose_name_plural': 'packagecondition|packages conditions', }, ), migrations.CreateModel( name='packagehistory', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=100, null=True, verbose_name='packagehistory|name')), ('description', models.CharField(blank=True, max_length=500, null=True, verbose_name='packagehistory|description')), ('command', models.TextField(blank=True, max_length=1000, null=True, verbose_name='packagehistory|command')), ('packagesum', models.CharField(blank=True, max_length=40, null=True, verbose_name='packagehistory|packagesum')), ('filename', models.CharField(blank=True, max_length=500, null=True, verbose_name='packagehistory|filename')), ('status', models.CharField(blank=True, default=b'Programmed', max_length=500, null=True, verbose_name='packagehistory|status')), ('date', models.DateTimeField(auto_now=True, verbose_name='packagehistory|date')), ], options={ 'ordering': ['date'], 'verbose_name': 'packagehistory|package history', 'verbose_name_plural': 'packagehistory|packages history', }, ), migrations.CreateModel( name='packageprofile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, verbose_name='packageprofile|name')), ('description', models.CharField(max_length=500, verbose_name='packageprofile|description')), ('exclusive_editor', models.CharField( choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='packageprofile|exclusive editor')), ], options={ 'ordering': ['name'], 'verbose_name': 'packageprofile|package profile', 'verbose_name_plural': 'packageprofile|packages profiles', }, ), migrations.CreateModel( name='packagewakeonlan', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( help_text='packagewakeonlan|packagewakeonlan help text', max_length=100, unique=True, verbose_name='packagewakeonlan|name')), ('description', models.CharField( max_length=500, verbose_name='packagewakeonlan|description')), ('date', models.DateTimeField( verbose_name='packagewakeonlan|start_time')), ('status', models.CharField(choices=[ (b'Programmed', 'packagewakeonlan|Programmed'), (b'Completed', 'packagewakeonlan|Completed') ], default=b'Programmed', max_length=100, verbose_name='packagewakeonlan|status')), ('exclusive_editor', models.CharField( choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='packagewakonelan|exclusive editor')), ], options={ 'ordering': ['date'], 'verbose_name': 'packagewakeonlan|package wakeonlan', 'verbose_name_plural': 'packagewakeonlan|packages wakeonlan', }, ), migrations.CreateModel( name='timeprofile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( help_text='timeprofile|timeprofile help text', max_length=100, verbose_name='timeprofile|name')), ('description', models.CharField(blank=True, max_length=500, null=True, verbose_name='timeprofile|description')), ('start_time', models.TimeField(verbose_name='timeprofile|start_time')), ('end_time', models.TimeField(verbose_name='timeprofile|end_time')), ('exclusive_editor', models.CharField( choices=[(b'yes', 'package|yes'), (b'no', 'package|no')], default=b'no', max_length=3, verbose_name='timeprofile|exclusive editor')), ('editor', models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='timeprofile| condition last editor')), ], options={ 'ordering': ['start_time'], 'verbose_name': 'timeprofile|time profile', 'verbose_name_plural': 'timeprofile|time profiles', }, ), ]