示例#1
0
def getClearSysMsgSql(start, end):
    dbIndex = None
    if start == end:
        dbIndex = start

    dbs = getDbs(dbIndex)

    sqls = ''

    for d in dbs:
        companyId = str(d[1])
        index = str(d[3])
        dbName = "curato" + index
        if not Tool.dbExist(dbName):
            continue
        tblName = dbName + '.' + companyId + '_message'

        sql = '''
        DELETE FROM %s
        WHERE sender = 0 ;
        '''
        sql = sql % tblName

        sqls += sql

    return sqls
示例#2
0
def getNewSql(start, end):
    dbIndex = None
    if start == end:
        dbIndex = start

    dbs = getDbs(dbIndex)

    sqls = ''

    for d in dbs:
        companyId = str(d[1])
        index = str(d[3])
        dbName = "curato" + index
        if not Tool.dbExist(dbName):
            continue
        tblName = dbName + '.' + companyId + '_schedule'

        # sql = '''
        # INSERT INTO t_level (company_id,level_name,sort,is_deleted) values
        # ('%s','总经理级别','1','0'),
        # ('%s','副总经理级别','2','0'),
        # ('%s','总监级别','3','0'),
        # ('%s','经理级别','4','0'),
        # ('%s','主管级别','5','0'),
        # ('%s','员工级别','6','0');
        # ''' % ((companyId,)*6)

        sql = '''
        ALTER TABLE %s 
ADD COLUMN `week_day` varchar(255) NULL COMMENT '工作日,周一到周日,数字表示' AFTER `rest`;
        ''' % tblName

        sqls += sql

    return sqls
示例#3
0
def getExtraSql(start, end):
    dbIndex = None
    if start == end:
        dbIndex = start

    dbs = getDbs(dbIndex)

    sqls = ''

    for d in dbs:
        companyId = str(d[1])
        index = str(d[3])
        dbName = "curato" + index
        if not Tool.dbExist(dbName):
            continue
        tblName = dbName + '.' + companyId + '_report_read_info'

        sql = '''
        ALTER TABLE %s
        MODIFY COLUMN `id`  int(11) NOT NULL AUTO_INCREMENT FIRST ;
        '''
        sql = sql % tblName

        sqls += sql

    return sqls
示例#4
0
def getClearSql(start, end):
    dbIndex = None
    if start == end:
        dbIndex = start

    dbs = getDbs(dbIndex)

    sqls = ''

    for d in dbs:
        companyId = str(d[1])
        index = str(d[3])
        dbName = "curato" + index
        if not Tool.dbExist(dbName):
            continue
        tblName = dbName + '.' + companyId + '_apply_config'

        sql = '''
        DELETE FROM %s;
        INSERT INTO %s (type,company,apply_name,process_type,status,create_time) VALUES
        (1,1, '请假申请',1, 1,NOW()),
        (2,1, '加班申请',1, 1,NOW()),
        (3,1, '外勤申请',1, 1,NOW()),
        (4,1, '补签申请',1, 1,NOW()),
        (5,1, '通用申请',1, 1,NOW());
        '''
        sql = sql % (tblName, tblName)

        # 申请,排班,考勤,公告,日报
        # apply, apply_info; schedule, default_schedule; attendance, attendance_record; notice; report;
        prefix = dbName + '.' + companyId + '_'
        to_be_clear = [
            'apply', 'apply_info', 'schedule', 'default_schedule',
            'attendance', 'attendance_record', 'notice', 'report'
        ]
        clears = []
        for i in to_be_clear:
            clears.append(prefix + i)
        clears = tuple(clears)
        sql += '''
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        DELETE FROM %s;
        ''' % clears

        sqls += sql

    return sqls
示例#5
0
def op_update_dump(start=None, end=None):
    print 'Generating update ..'
    update_dump_start = time.time()
    db = connection
    cursor = db.cursor()
    # cursor.execute("select * from t_database where dbname < 3 ")
    cursor.execute("use curato_base")

    dbIndex = None
    if start == end:
        dbIndex = start

    if dbIndex:
        s = "select * from t_database where dbname = '" + dbIndex + "' "
    elif start and end:
        s = "select * from t_database where dbname >= %s and dbname <= %s " % (
            start, end)
    else:
        all = raw_input('Dump all ? (y/N) ')
        if all != 'y':
            sys.exit()
        s = "select * from t_database"

    cursor.execute(s)
    data = cursor.fetchall()

    # log_file = dir + 'update.log'
    # h = open(log_file, 'w')

    sqls = ""

    for d in data:
        t1 = time.time()
        sn = str(d[1])  # companyId
        dbName = "curato" + d[3]  # db index
        if not Tool.dbExist(dbName):
            continue
        s = ""
        create_sql = getCreateSql(dbName, sn)
        print 'create_sql..' + dbName + '-' + sn
        modify_sql = getModifySql(dbName, sn)
        print 'modify_sql..' + dbName + '-' + sn
        s += create_sql
        s += modify_sql

        sqls += s

        t2 = time.time()

        t = t2 - t1
        print "Generating %s Cost Time %s" % (dbName + '-' + sn, t)

        # h.write("Generating %s Cost Time %s" % (dbName + '-' + sn, t))

    f = update_file
    fo = open(f, "w")
    fo.write(sqls)
    fo.close()

    update_dump_end = time.time()
    print "Generating Cost Time %s" % (update_dump_end - update_dump_start)

    print 'Generating update done. file: %s' % update_file
    return 1
示例#6
0
def getAuthSql(start, end):
    dbIndex = None
    if start == end:
        dbIndex = start

    data = getDbs(dbIndex)

    db = connection
    cursor = db.cursor()

    sqlss = ''

    # per row for company
    for d in data:

        companyId = str(d[1])
        dbIndex = str(d[3])

        dbName = "curato" + dbIndex
        if not Tool.dbExist(dbName):
            continue

        sqls = "use %s;" % dbName

        tblName = companyId + "_staff_role_auth"

        createTbl = '''
        drop table if EXISTS `%s`;
        CREATE TABLE `%s` (
        `id`  int(5) UNSIGNED  NOT NULL AUTO_INCREMENT ,
        `role_id`  int(5) NULL ,
        `auth`  text NULL ,
        PRIMARY KEY (`id`)
        )
        ;
        '''
        createTbl = createTbl % (tblName, tblName)

        sqls += createTbl

        oldTbl = companyId + "_user_role_auth"

        if Tool.tblExist(dbName, oldTbl):

            authSql = "select * from %s " % oldTbl
            cursor.execute("use %s" % dbName)
            cursor.execute(authSql)
            res = cursor.fetchall()

            insertSql = "insert into %s (role_id, auth) values " % tblName
            insertCount = 0

            for a in res:
                authStr = a[4]
                roleId = a[1]
                authStr = authStr.strip(',')
                auth = convertAuth(authStr)
                if len(auth) > 0:
                    auth = ','.join(str(n) for n in auth)
                else:
                    auth = ''

                insertCount += 1

                insertSql += " ('%s', '%s')," % (roleId, auth)

            if insertCount:
                insertSql = insertSql.rstrip(',')
                insertSql += ';'
            else:
                insertSql = ''

            sqls += insertSql

        sqlss += sqls

    return sqlss