diff options
author | Marko Kreen | 2011-11-29 14:23:46 +0000 |
---|---|---|
committer | Marko Kreen | 2011-11-29 14:23:46 +0000 |
commit | 0980198ab3c1d416fdd23b86d26a6a605323758c (patch) | |
tree | a81cbf354df06b87924eca595ab29f8906da4b9f /setup_skytools.py | |
parent | ca418c8e3a04b409c264d77045746e67707ff992 (diff) |
sql upgrade cleanup
- use 'structure/upgrade.sql' to generate X.upgrade.sql
- add pgq_ext to upgraded schemas
- move non-standard upgrade scripts to extra/
- setup_skytools: build sql files in 'build' target, not always
- pgq_ext.version: bump ver to 3.0.0.1
Diffstat (limited to 'setup_skytools.py')
-rwxr-xr-x | setup_skytools.py | 39 |
1 files changed, 27 insertions, 12 deletions
diff --git a/setup_skytools.py b/setup_skytools.py index 14ce9a6e..e5dd97e5 100755 --- a/setup_skytools.py +++ b/setup_skytools.py @@ -60,13 +60,17 @@ sql_files = [ 'sql/pgq_node/pgq_node.upgrade.sql', 'sql/londiste/londiste.upgrade.sql', 'sql/pgq_coop/pgq_coop.upgrade.sql', + 'sql/pgq_ext/pgq_ext.upgrade.sql', +] +# sql files for special occasions +extra_sql_files = [ 'upgrade/final/v3.0_pgq_core.sql', - #'sql/txid/txid.sql', ] if not INSTALL_SQL: sql_files = [] + extra_sql_files = [] def getvar(name, default): try: @@ -92,15 +96,21 @@ DEF_SKYLOG = getvar('SKYLOG', '0') != '0' DEF_SK3_SUBDIR = getvar('SK3_SUBDIR', '0') != '0' # create sql files if they dont exist -for fn in sql_files: - if not os.path.isfile(fn): - f = open(fn, 'w') - wd = os.path.dirname(fn) - cmd = [sys.executable, '../../scripts/catsql.py', 'structure/install.sql'] - p = Popen(cmd, stdout=f, cwd = wd) - p.communicate() - if p.returncode != 0: - raise Exception('catsql failed') +def make_sql(): + for fn in sql_files: + if not os.path.isfile(fn): + f = open(fn, 'w') + wd = os.path.dirname(fn) + if fn.endswith('upgrade.sql'): + base = 'structure/upgrade.sql' + else: + base = 'structure/install.sql' + print("Creating %s" % (fn,)) + cmd = [sys.executable, '../../scripts/catsql.py', base] + p = Popen(cmd, stdout=f, cwd = wd) + p.communicate() + if p.returncode != 0: + raise Exception('catsql failed') # remove .py, add suffix def fixscript(fn, dstdir, sfx): @@ -121,9 +131,14 @@ class sk3_build(build): build.initialize_options(self) self.build_base = 'build.sk3' + def run(self): + build.run(self) + make_sql() + # fix script names in build dir class sk3_build_scripts(build_scripts): def run(self): + build_scripts.run(self) for sfn in sfx_scripts: @@ -142,7 +157,6 @@ class sk3_install(install): skylog = DEF_SKYLOG def run(self): - # create installer_config.py with final paths fn = 'python/skytools/installer_config.py' cf = open(fn + '.in', 'r').read() @@ -182,7 +196,8 @@ setup( 'python/conf/wal-master.ini', 'python/conf/wal-slave.ini', ]), - ('share/skytools3', sql_files)], + ('share/skytools3', sql_files), + ('share/skytools3/extra', extra_sql_files)], ext_modules = c_modules, scripts = sfx_scripts + nosfx_scripts, cmdclass = { |