[Collab-qa-commits] r866 - udd/src
neronus-guest at alioth.debian.org
neronus-guest at alioth.debian.org
Fri May 30 12:44:33 UTC 2008
Author: neronus-guest
Date: 2008-05-30 12:44:32 +0000 (Fri, 30 May 2008)
New Revision: 866
Added:
udd/src/setup-db.sql
Removed:
udd/src/delete-tables.py
udd/src/setup-db.py
Modified:
udd/src/db_manager.py
udd/src/test.yaml
Log:
* Added configuration option setup->script. This script has to be a file
containing a sequence of SQL commands setting up the database
* removed delete-tables.py and setup-db.py, as they are merged into db_manager.py
Modified: udd/src/db_manager.py
===================================================================
--- udd/src/db_manager.py 2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/db_manager.py 2008-05-30 12:44:32 UTC (rev 866)
@@ -17,11 +17,14 @@
c.execute("DROP TABLE " + t)
def setup(conn, config):
+ if 'script' not in config['setup']:
+ raise aux.ConfigException('Script not specified in setup')
+
c = conn.cursor()
- c.execute("CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int);")
- c.execute("CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);")
- c.execute("CREATE TABLE distr_ids (distr_id serial, name text);")
- c.execute("CREATE TABLE arch_ids (arch_id serial, name text);")
+ for line in open(config['setup']['script']).readlines():
+ line = line.strip()
+ if line:
+ c.execute(line)
#Setup architecture table
for arch in config['general']['archs']:
Deleted: udd/src/delete-tables.py
===================================================================
--- udd/src/delete-tables.py 2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/delete-tables.py 2008-05-30 12:44:32 UTC (rev 866)
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-import aux
-import psycopg2
-import sys
-
-def main():
- if len(sys.argv) < 2:
- print "Usage: %s <config>" % sys.argv[0]
- sys.exit(1)
-
- config = aux.load_config(open(sys.argv[1]).read())
-
- conn = psycopg2.connect("dbname=" + config['dbname'])
-
- c = conn.cursor()
- for table in ('sources', 'pkgs', 'distr_ids', 'arch_ids'):
- c.execute("DROP TABLE " + table)
-
- conn.commit()
- conn.close()
-
-if __name__ == '__main__':
- main()
Deleted: udd/src/setup-db.py
===================================================================
--- udd/src/setup-db.py 2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/setup-db.py 2008-05-30 12:44:32 UTC (rev 866)
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-# Last-Modified: <Thu May 29 20:47:58 2008>
-# Starting from an empty database, create the necessary tables
-
-from psycopg2 import connect
-import syck
-import sys
-
-if __name__ == '__main__':
- if len(sys.argv) < 2:
- print "Usage: %s <udd config file>" % (sys.argv[0])
- sys.exit(1)
-
- # Load configuration
- config = syck.load(open(sys.argv[1]).read())
- # Check configuration
- if not 'dbname' in config:
- print "dbname not specified in" + sys.argv[1]
- sys.exit(1)
- if not 'archs' in config:
- print 'archs not specified in' + sys.argv[1]
- sys.exit(1)
-
- connection = connect("dbname = " + config['dbname'])
-
- # Create tables
- cursor = connection.cursor()
- cursor.execute("CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int);")
- cursor.execute("CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);")
- cursor.execute("CREATE TABLE distr_ids (distr_id serial, name text);")
- cursor.execute("CREATE TABLE arch_ids (arch_id serial, name text);")
- # TODO: Add carnivore
-
- #Setup architecture table
- for arch in config['archs']:
- cursor.execute("INSERT INTO arch_ids (name) VALUES ('%s');" % (arch))
-
- connection.commit()
-
Added: udd/src/setup-db.sql
===================================================================
--- udd/src/setup-db.sql (rev 0)
+++ udd/src/setup-db.sql 2008-05-30 12:44:32 UTC (rev 866)
@@ -0,0 +1,9 @@
+CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, sec_id int);
+CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);
+CREATE TABLE distr_ids (distr_id serial, name text);
+CREATE TABLE arch_ids (arch_id serial, name text);
+
+GRANT SELECT ON pkgs TO PUBLIC;
+GRANT SELECT ON sources TO PUBLIC;
+GRANT SELECT ON distr_ids TO PUBLIC;
+GRANT SELECT ON arch_ids TO PUBLIC;
Modified: udd/src/test.yaml
===================================================================
--- udd/src/test.yaml 2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/test.yaml 2008-05-30 12:44:32 UTC (rev 866)
@@ -17,6 +17,7 @@
setup:
type: setup
+ script: setup-db.sql
debian-lenny:
type: packages
More information about the Collab-qa-commits
mailing list