Ticket #4374: management.diff

File management.diff, 951 bytes (added by hambaloney@…, 13 years ago)
  • management.py

    old new  
    379379    for sql_file in sql_files:
    380380        if os.path.exists(sql_file):
    381381            fp = open(sql_file, 'U')
     382            trigger = False
    382383            for statement in statements.split(fp.read()):
    383384                # Remove any comments from the file
    384385                statement = re.sub(r"--.*[\n\Z]", "", statement)
    385386                if statement.strip():
    386                     output.append(statement + ";")
     387                    if trigger:
     388                        output[-1] = output[-1] + statement + ";"
     389                        if 'end' in statement.lower():
     390                            trigger = False
     391                    else:
     392                        output.append(statement + ";")
     393                    if 'create trigger' in statement.lower():
     394                        trigger = True
    387395            fp.close()
    388396
    389397    return output
Back to Top