将SALT_STACK的JOB-CACHE放到数据库中,而建库用DJANGO的ORM完成
下面包括了SALT_MASTER的配置,及DJANGO的ORM里更改默认表名称,更改默认字段名称(里面有个RETURN),更改默认ID索引。。。
一个下午有和它磨来磨去。。。
感谢鹏龙,感谢高远。。:)
参考:
http://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
原表SQL语句:
CREATE DATABASE `salt` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; USE `salt`; -- -- Table structure for table `jids` -- DROP TABLE IF EXISTS `jids`; CREATE TABLE `jids` ( `jid` ) NOT NULL, `load` mediumtext NOT NULL, UNIQUE KEY `jid` (`jid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Table structure for table `salt_returns` -- DROP TABLE IF EXISTS `salt_returns`; CREATE TABLE `salt_returns` ( `fun` ) NOT NULL, `jid` ) NOT NULL, `return` mediumtext NOT NULL, `id` ) NOT NULL, `success` ) NOT NULL, `full_ret` mediumtext NOT NULL, `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, KEY `id` (`id`), KEY `jid` (`jid`), KEY `fun` (`fun`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Table structure for table `salt_events` -- DROP TABLE IF EXISTS `salt_events`; CREATE TABLE `salt_events` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `tag` ) NOT NULL, `data` ) NOT NULL, `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `master_id` ) NOT NULL, PRIMARY KEY (`id`), KEY `tag` (`tag`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DJANGO的ORM的样子:
from django.db import models
# Create your models here.class jids(models.Model): jid = models.CharField(max_length=255, unique=True) load = models.TextField(max_length=1024)
def __unicode__(self): return self.jid
class Meta: db_table = 'jids' ordering = ('-jid',)
class salt_events(models.Model): tag = models.CharField(max_length=255) data = models.CharField(max_length=1024) alter_time = models.DateTimeField(auto_now_add=True) master_id = models.CharField(max_length=255)
def __unicode__(self): return self.id
class Meta: db_table = 'salt_events' ordering = ('-id',)
class salt_returns(models.Model): custom_id = models.AutoField(primary_key=True) fun = models.CharField(max_length=50) jid = models.CharField(max_length=255) return_char = models.TextField(max_length=1024, db_column='return') id = models.CharField(max_length=50) success = models.CharField(max_length=10) full_ret = models.TextField(max_length=1024) alter_time = models.DateTimeField(auto_now_add=True)
def __unicode__(self): return self.custom_id
class Meta: db_table = 'salt_returns' ordering = ('-custom_id',)
SALT_MASTER配置更改:
#add by chengang #-- # # event_return: mysql master_job_cache: mysql mysql.host: '1.1.1.1' mysql.user: 'xxx' mysql.pass: 'yyyy' mysql.db: 'AAAA' mysql.port:
DJANGO更新ORM的语句:
python manage.py makemigrations
#python manage.py syncdb(听说快放弃不用)
python manage.py migrate
测试效果:

将SALT_STACK的JOB-CACHE放到数据库中,而建库用DJANGO的ORM完成的更多相关文章
- Oracle 11g R2创建数据库之手工建库方式
在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...
- oracle linux 6.5 安装 oracle 12cR2数据库(2)-DBCA建库
援引:http://www.cnblogs.com/kerrycode/p/3386917.html by 潇湘隐者 Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引 ...
- MySQL数据库入门(建库和建表)--陈远波
建库.建表 1.建库 (1)SQL语句命令建库: Create database数据库名称 (该方法创建的数据库没有设置编码乱码) 1 2 3 4 5 -- 创建数据库时,设置数据库的编码方式 -- ...
- MySQL数据库中统计一个库中的所有表的行数?
今天公司两个远端的数据库主从同步有点问题,查看下wordpress库下所有表的表的条目? mysql> use information_schema;Database changedmysql& ...
- mysql数据库-初始化sql建库建表-关联查询投影问题
下面是一个简易商城的几张表的创建方式 drop database if exists shop ; create database shop CHARACTER SET 'utf8' COLLATE ...
- 用JDBC把Excel中的数据导入到Mysql数据库中
步骤:0.在Mysql数据库中先建好table 1.从Excel表格读数据 2.用JDBC连接Mysql数据库 3.把读出的数据导入到Mysql数据库的相应表中 其中,步骤0的table我是先在Mys ...
- android利用provider查询同一个数据库中没有对外暴露出来的表
[原创]转载请加本篇博客地址http://www.cnblogs.com/scarecrow-blog/p/6266042.html 个人感觉这是android provider 的一个漏洞, 废话少 ...
- PowerDesigner如何把建好的表导入到数据库中,并且把注释也导入进去
第一次接触这个软件,经过自己的捣鼓和百度,终于可以顺利的导入数据库中了,好开森,希望可以帮助到更多人. 数据库(mysql)其实和sqlserver差不多,以16.5版本为例 1.选中一个PDM项目, ...
- SQLAlchemy01 /SQLAlchemy去连接数据库、ORM介绍、将ORM模型映射到数据库中
SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到数据库中 目录 SQLAlchemy01 /SQLAlchemy去连接数据库.ORM介绍.将ORM模型映射到 ...
随机推荐
- 纯IPv6环境App适配的坑
来源:伯乐在线专栏作者 - MrPeak 链接:http://ios.jobbole.com/86580/ 苹果从2016年6月1号开始,强制所有app必须支持纯IPv6的网络环境.这项举措将对IPv ...
- android之listView定位到指定行同时隐藏输入键盘
帮别人该bug遇到的一个问题,记录下来. listView.setSelection(a); 这个方法可以让让你的listview定位到指定行 但是如果紧接着执行隐藏输入键盘的代码,则会有bug,这个 ...
- Mybaitis配置总结
在mybatis-config.xml中配置分页插件,插件配置必须放在mapper前面 <plugins> <plugin interceptor="com.rrtong. ...
- JOSN对象与JSON字符串的相互转化
前端在与服务端通信时.会与JSON JSON字符串经常打交道. 什么是JSON? 如果不太清楚可以点击这里 服务端传过来的数据一般都是一串字符串,jQuery AJAX中的success函数的第一个 ...
- HTML+CSS基础学习笔记(6)
一.元素分类 CSS中html的标签元素大体分为三种类型 1.块状元素 @特点: #每个块级元素都从新的一行开始,并且其后的元素也另起一行(一个块级元素独占一行) #元素的高度.宽度.行高以及顶和底边 ...
- DOM操作--表格点击行变色
点击表格行变色,这种网页效果应该还是比较常见的.大家应该看见了,我这里的效果是用DOM操作实现的,那么很多人会问什么是DOM操作,贴出代码之前我就和大家解释一下什么是DOM操作: DOM是Docume ...
- 使用ASP在IIS创建WEB站点的函数
程序代码: '=========================================================='函数介绍:创建WebSite'本函数使用ADSI,需要Adminis ...
- c语言_链表实例讲解(两个经典例子)
建立一个学生成绩的线性链表,对其实现插入,删除,输出,最后销毁. demo1 // lianbiao.cpp : Defines the entry point for the console app ...
- maven中tomcat7-maven-plugin插件的使用
1.(挺清晰,但是我在项目上尝试没有成功) http://blog.csdn.net/yhhazr/article/details/7866501 2.(算是有一些详细的运行命令吧,例如自动打包命令或 ...
- (转)Android 从底层实现让应用杀不死【失效Closed】(1)
转自:http://klob.diandi.life/?p=21#symple-tab-%e8%b0%83%e6%9f%a5%e5%af%b9%e8%b1%a1 情景还原: 我的应用调用了Notifi ...