aboutsummaryrefslogtreecommitdiff
path: root/db/setup_db.py
blob: a821abdc96185726e36c3fcadb082dd18af92437 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /usr/bin/python

#  Copyright 2014 Linaro Limited
#  Author: Dave Pigott <dave.pigot@linaro.org>
#
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#  MA 02110-1301, USA.

# First of all, create the vland user
# Next - create the vland database

# Create the switch, port and vlan tables

from psycopg2 import connect

conn = connect(database="postgres", user="postgres", password="postgres")

cur = conn.cursor()
cur.execute("CREATE USER vland WITH SUPERUSER")
cur.execute("CREATE DATABASE vland WITH OWNER = vland PASSWORD 'vland'")
conn.close()

conn = connect(database="vland", user="vland", password="vland")
cur = conn.cursor()

cur.execute("CREATE TABLE switch (switch_id SERIAL, name VARCHAR(64))")
cur.execute("CREATE TABLE port (port_id SERIAL, name VARCHAR(64),"
            "switch_id INTEGER, is_locked BOOLEAN,"
            "is_trunk BOOLEAN, base_vlan_id INTEGER,"
            "current_vlan_id INTEGER, number INTEGER)")
cur.execute("CREATE TABLE vlan (vlan_id SERIAL, name VARCHAR(32),"
            "tag INTEGER, is_base_vlan BOOLEAN, creation_time TIMESTAMP)")

cur.execute("COMMIT;")