Exemple #1
0
def import_bootstrap():
    print "Importing bootstrap ..."
    vendor = "SQLServer"

    impl = DatabaseImpl.get(vendor)
    impl.create_database("sthpw")


    upgrade_dir = Environment.get_upgrade_dir()

    for category in ['bootstrap', 'sthpw', 'config']:
        f = open("%s/%s/%s_schema.sql" % (upgrade_dir, vendor.lower(), category) )
        data = f.read()
        f.close()

        data = data.split(";")

        cmds = []
        for cmd in data:
            cmd = cmd.strip()
            if cmd == '':
                continue
            cmds.append(cmd)

        from pyasm.search import DbContainer
        sql = DbContainer.get("sthpw")
        for cmd in cmds:
            sql.do_update(cmd)
Exemple #2
0
def import_bootstrap():
    print "Importing bootstrap ..."
    vendor = "MySQL"

    impl = DatabaseImpl.get(vendor)
    impl.create_database("sthpw")

    upgrade_dir = Environment.get_upgrade_dir()

    for category in ['bootstrap', 'sthpw', 'config']:
        f = open("%s/%s/%s_schema.sql" %
                 (upgrade_dir, vendor.lower(), category))
        data = f.read()
        f.close()

        data = data.split(";")

        cmds = []
        for cmd in data:
            cmd = cmd.strip()
            if cmd == '':
                continue
            cmds.append(cmd)

        from pyasm.search import DbContainer
        sql = DbContainer.get("sthpw")
        for cmd in cmds:
            sql.do_update(cmd)
Exemple #3
0
    def convert_file(my, src_path, dst_path):

        upgrade_dir = Environment.get_upgrade_dir()
        tmp_dir = Environment.get_tmp_dir()

        dir = os.path.dirname(dst_path)
        if dir and not os.path.exists(dir):
            os.makedirs(dir)

        f = open(src_path, 'r')
        f2 = open(dst_path, 'w')

        # prepend lines
        lines = my.get_prepend_lines()
        for line in lines:
            f2.write(line)

        for line in f.xreadlines():
            line = my.handle_line(line)
            if line == None:
                continue
            f2.write(line)

        f.close()
        f2.close()

        return dst_path
Exemple #4
0
    def convert_file(self, src_path, dst_path):

        upgrade_dir = Environment.get_upgrade_dir() 
        tmp_dir = Environment.get_tmp_dir()

        dir = os.path.dirname(dst_path)
        if dir and not os.path.exists(dir):
            os.makedirs(dir)

        f = open(src_path, 'r')
        f2 = open(dst_path, 'w')

        # prepend lines
        lines = self.get_prepend_lines()
        for line in lines:
            f2.write(line)

        for line in f.xreadlines():
            line = self.handle_line(line)
            if line == None:
                continue
            f2.write(line)

        f.close()
        f2.close()

        return dst_path
Exemple #5
0
    def convert_bootstrap(my):
        upgrade_dir = Environment.get_upgrade_dir()

        file_names = [
            "bootstrap_schema.sql", "sthpw_schema.sql", "config_schema.sql"
        ]
        for file_name in file_names:
            src_file = "%s/postgresql/%s" % (upgrade_dir, file_name)
            dst_file = "%s/%s/%s" % (upgrade_dir, my.vendor.lower(), file_name)
            print "Converting .."
            print "  from: ", src_file
            print "  to:   ", dst_file
            my.convert_file(src_file, dst_file)
Exemple #6
0
    def convert_upgrade(self, namespace):

        self.namespace = namespace

        upgrade_dir = Environment.get_upgrade_dir() 
        tmp_dir = Environment.get_tmp_dir()

        src_path ="%s/project/%s_upgrade.py" % (upgrade_dir, namespace)
        dst_path = "%s/upgrade/%s/%s_upgrade.py" % (tmp_dir, self.vendor, namespace)

        self.convert_file(src_path, dst_path)

        return dst_path
Exemple #7
0
    def convert_bootstrap(self):
        upgrade_dir = Environment.get_upgrade_dir() 

        file_names = [
                "bootstrap_schema.sql",
                "sthpw_schema.sql",
                "config_schema.sql"
        ]
        for file_name in file_names:
            src_file = "%s/postgresql/%s" % (upgrade_dir, file_name)
            dst_file = "%s/%s/%s" % (upgrade_dir, self.vendor.lower(), file_name)
            print "Converting .."
            print "  from: ", src_file
            print "  to:   ", dst_file
            self.convert_file(src_file, dst_file)
def convert_sqlite_upgrade(namespace):

    upgrade_dir = Environment.get_upgrade_dir()
    tmp_dir = Environment.get_tmp_dir()

    src_path = "%s/project/%s_upgrade.py" % (upgrade_dir, namespace)
    path = "%s/upgrade/sqlite/%s_upgrade.py" % (tmp_dir, namespace)
    dir = os.path.dirname(path)
    if not os.path.exists(dir):
        os.makedirs(dir)

    f = open(src_path, 'r')
    f2 = open(path, 'w')

    for line in f.xreadlines():
        if line.find("serial PRIMARY KEY") != -1:
            line = line.replace("serial PRIMARY KEY",
                                "integer PRIMARY KEY AUTOINCREMENT")
        elif line.find("PRIMARY KEY") != -1:
            if line.find("ALTER TABLE") != -1:
                pass
            else:
                pass

        elif line.find("now()") != -1:
            line = line.replace("now()", "CURRENT_TIMESTAMP")

        elif line.startswith("class "):
            line = "class Sqlite%sUpgrade(BaseUpgrade):\n" % namespace.capitalize(
            )

        elif line.startswith("__all__ "):
            line = "__all__ = ['Sqlite%sUpgrade']\n" % namespace.capitalize()

        f2.write(line)
        #print line.rstrip()

    f.close()
    f2.close()

    return path
Exemple #9
0
def import_bootstrap():
    print "Importing bootstrap ..."
    vendor = "PostgreSQL"

    plugin_dir = Environment.get_plugin_dir()
    sys.path.insert(0, plugin_dir)

    impl = DatabaseImpl.get(vendor)
    impl.create_database("sthpw")

    upgrade_dir = Environment.get_upgrade_dir()

    for category in ['bootstrap', 'sthpw', 'config']:
        f = open("%s/%s/%s_schema.sql" %
                 (upgrade_dir, vendor.lower(), category))
        data = f.read()
        f.close()

        data = data.split(";")

        cmds = []
        for cmd in data:
            lines = cmd.split("\n")
            lines2 = []
            for line in lines:
                if line.startswith("--"):
                    continue
                lines2.append(line)
            cmd = "\n".join(lines2)

            cmd = cmd.strip()
            if cmd == '':
                continue
            cmds.append(cmd)

        from pyasm.search import DbContainer
        sql = DbContainer.get("sthpw")
        for cmd in cmds:
            sql.do_update(cmd)
Exemple #10
0
def import_bootstrap():
    print "Importing bootstrap ..."
    vendor = "PostgreSQL"

    plugin_dir = Environment.get_plugin_dir()
    sys.path.insert(0, plugin_dir)

    impl = DatabaseImpl.get(vendor)
    impl.create_database("sthpw")


    upgrade_dir = Environment.get_upgrade_dir()

    for category in ['bootstrap', 'sthpw', 'config']:
        f = open("%s/%s/%s_schema.sql" % (upgrade_dir, vendor.lower(), category) )
        data = f.read()
        f.close()

        data = data.split(";")

        cmds = []
        for cmd in data:
            lines = cmd.split("\n")
            lines2 = []
            for line in lines:
                if line.startswith("--"):
                    continue
                lines2.append(line)
            cmd = "\n".join(lines2)

            cmd = cmd.strip()
            if cmd == '':
                continue
            cmds.append(cmd)

        from pyasm.search import DbContainer, DbResource
        sql = DbContainer.get("sthpw")
        for cmd in cmds:
            sql.do_update(cmd)