Yearning更新注意事项:

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

如何更新:

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

1.下载新的yearning包

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

cd Yearning/install/yearning-docker-compose
docker-compose stop yearning
docker-compose rm yearning
docker rmi [yearning imageID]

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

5.启动yearning容器

cd Yearning/install/yearning-docker-compose

docker-compose up -d yearning

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

在可以访问yearning的机器上执行以下命令

curl  Yearning_URL/api/v1/exaes?user=admin\&pwd=xxxx

名词解释:

Yearning_URL: yearning的网址+端口

pwd= 后面跟上admin的密码

当提示  密码已加密! 说明已成功!

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

Yearning 1.4.1 更新sql语句


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

Yearning 1.4.0 更新sql语句


ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `executor` varchar(50) 

ALTER TABLE `Yearning`.`core_databaselist` CHANGE COLUMN `password` `password` varchar(500) NOT NULL

Yearning 1.3.3 更新sql语句

新增:

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

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

Yearning 1.3.2 更新sql语句

新增:

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

Yearning 1.3.1 更新sql语句

新增:

ALTER TABLE `Yearning`.`core_account` ADD COLUMN `real_name` varchar(100) NOT NULL

ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `real_name` varchar(100) NOT NULL

ALTER TABLE `Yearning`.`core_sqlorder` CHANGE COLUMN text text longtext NOT NULL

ALTER TABLE `Yearning`.`core_sqlorder` ADD COLUMN `rejected` longtext NOT NULL

DROP TABLE core_usermessage ;

Yearning 1.3.0 更新sql语句

新增:

ALTER TABLE `Yearning`.`core_account` ADD COLUMN `auth_group` varchar(100) NOT NULL

ALTER TABLE `Yearning`.`core_applygrained` ADD COLUMN `auth_group` varchar(100) NOT NULL

ALTER TABLE `Yearning`.`core_databaselist` DROP COLUMN url

ALTER TABLE `Yearning`.`core_query_order` DROP COLUMN timer

Yearning 1.2.0 更新注意事项

更改了 globalpermissions表结构

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

新增初始化sql

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

该字段为varchar(100)类型。

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表

新增如下字段

    work_id = models.CharField(max_length=50, null=True, db_index=True)
    username = models.CharField(max_length=100, null=True)
    date = models.CharField(max_length=50)
    timer = models.CharField(max_length=50)
    instructions = models.TextField(null=True)
    query_per = models.SmallIntegerField(null=True, default=0)
    connection_name = models.CharField(max_length=50,null=True)  # 连接名
    computer_room = models.CharField(max_length=50,null=True)  # 机房
    export = models.SmallIntegerField(null=True, default=0)
    audit = models.CharField(max_length=100, null=True)
    time = models.CharField(max_length=100, null=True)

添加表querypermissions表

新增如下字段

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