Yearning更新注意事项:

1.3版本后yearning采用容器化部署,更新也将采用容器化部署的方式进行。

如何更新:

适用于docker-compose 以及连接外部mysql安装

1.下载新的yearning包

2.stop并删除yearning容器以及对应的镜像

  1. cd Yearning/install/yearning-docker-compose
  2. docker-compose stop yearning
  3. docker-compose rm yearning
  4. docker rmi [yearning imageID]

4.连接容器mysql(如果是外部mysql安装那就是外部mysql)执行版本更新sql语句(所有的版本的更新sq都会在下面写明)

5.启动yearning容器

  1. cd Yearning/install/yearning-docker-compose
  2. docker-compose up -d yearning

请注意 从1.4.0以下版本升级至1.4.0及以上版本的,已存数据库密码需要进行aes加密 请务必执行以下命令

  1. 在可以访问yearning的机器上执行以下命令
  2. curl Yearning_URL/api/v1/exaes?user=admin\&pwd=xxxx
  3. 名词解释:
  4. Yearning_URL yearning的网址+端口
  5. pwd= 后面跟上admin的密码
  6. 当提示 密码已加密! 说明已成功!

成功后请不要再执行第二次!!!

Yearning 1.4.1 更新sql语句

  1. ALTER TABLE `Yearning`.`core_sqlorder` CHANGE COLUMN `delay` `delay` varchar(100)

Yearning 1.4.0 更新sql语句

  1. ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `executor` varchar(50)
  2. ALTER TABLE `Yearning`.`core_databaselist` CHANGE COLUMN `password` `password` varchar(500) NOT NULL

Yearning 1.3.3 更新sql语句

新增:

  1. ALTER TABLE `Yearning`.`core_query_order` ADD COLUMN `real_name` varchar(100) NOT NULL
  2. ALTER TABLE `Yearning`.`core_applygrained` ADD COLUMN `real_name` varchar(100) NOT NULL

Yearning 1.3.2 更新sql语句

新增:

  1. ALTER TABLE `Yearning`.`core_account` CHANGE COLUMN `real_name` `real_name` varchar(100) DEFAULT '请添加真实姓名' COMMENT ''

Yearning 1.3.1 更新sql语句

新增:

  1. ALTER TABLE `Yearning`.`core_account` ADD COLUMN `real_name` varchar(100) NOT NULL
  2. ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `real_name` varchar(100) NOT NULL
  3. ALTER TABLE `Yearning`.`core_sqlorder` CHANGE COLUMN text text longtext NOT NULL
  4. ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `rejected` longtext NOT NULL
  5. DROP TABLE core_usermessage ;

Yearning 1.3.0 更新sql语句

新增:

  1. ALTER TABLE `Yearning`.`core_account` ADD COLUMN `auth_group` varchar(100) NOT NULL
  2. ALTER TABLE `Yearning`.`core_applygrained` ADD COLUMN `auth_group` varchar(100) NOT NULL
  3. ALTER TABLE `Yearning`.`core_databaselist` DROP COLUMN url
  4. ALTER TABLE `Yearning`.`core_query_order` DROP COLUMN timer

Yearning 1.2.0 更新注意事项

更改了 globalpermissions表结构

  1. authorization = models.CharField(max_length=50, null=True, db_index=True)
  2. inception = JSONField(null=True) 该字段类型参考 core_grained表中permission字段
  3. ldap = JSONField(null=True)
  4. message = JSONField(null=True)
  5. other = JSONField(null=True)

新增初始化sql

特别注意 core_sqlrecord表中是否存在backup_dbname字段!如没有该字段请添加,不然将无法显示回滚语句!

该字段为varchar(100)类型。

  1. echo "from core.models import globalpermissions; globalpermissions.objects.get_or_create(authorization='global', inception={'host': '', 'port': '', 'user': '', 'password': '', 'back_host': '', 'back_port': '', 'back_user': '', 'back_password': ''}, ldap={'type': '', 'host': '', 'sc': '', 'domain': '', 'user': '', 'password': ''}, message={'webhook': '', 'smtp_host': '', 'smtp_port': '', 'user': '', 'password': '', 'to_user': '', 'mail': False, 'ding': False}, other={'limit': '', 'con_room': ['AWS', 'Aliyun', 'Own', 'Other'], 'foce': '', 'multi': False, 'query': False, 'sensitive_list': [], 'sensitive': ''})" | python3 manage.py shell

Yearning 1.1.2 更新注意事项

添加表query_order表

新增如下字段

  1. work_id = models.CharField(max_length=50, null=True, db_index=True)
  2. username = models.CharField(max_length=100, null=True)
  3. date = models.CharField(max_length=50)
  4. timer = models.CharField(max_length=50)
  5. instructions = models.TextField(null=True)
  6. query_per = models.SmallIntegerField(null=True, default=0)
  7. connection_name = models.CharField(max_length=50,null=True) # 连接名
  8. computer_room = models.CharField(max_length=50,null=True) # 机房
  9. export = models.SmallIntegerField(null=True, default=0)
  10. audit = models.CharField(max_length=100, null=True)
  11. time = models.CharField(max_length=100, null=True)

添加表querypermissions表

新增如下字段

  1. work_id = models.CharField(max_length=50, null=True, db_index=True)
  2. username = models.CharField(max_length=100, null=True)
  3. statements = models.TextField()