Statistics
| Branch: | Tag: | Revision:

root / README.DB @ 92c53da1

History | View | Annotate | Download (3.3 kB)

1 8707738f Vangelis Koukis
*** SQLite
2 8707738f Vangelis Koukis
3 8707738f Vangelis Koukis
Django configuration in ettings.py:
4 8707738f Vangelis Koukis
5 8707738f Vangelis Koukis
	PROJECT_PATH = os.path.dirname(os.path.abspath(__file__)) + '/'
6 8707738f Vangelis Koukis
7 8707738f Vangelis Koukis
	DATABASES = {
8 8707738f Vangelis Koukis
	    'default': {
9 8707738f Vangelis Koukis
		'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
10 8707738f Vangelis Koukis
		# ATTENTION: This *must* be the absolute path if using sqlite3.
11 8707738f Vangelis Koukis
		# See: http://docs.djangoproject.com/en/dev/ref/settings/#name
12 f53a9423 Vangelis Koukis
		'NAME': PROJECT_PATH + 'database.sqlite'                      # Or path to database file if using sqlite3.
13 8707738f Vangelis Koukis
	    }
14 8707738f Vangelis Koukis
	}
15 8707738f Vangelis Koukis
16 8707738f Vangelis Koukis
Database initialization:
17 8707738f Vangelis Koukis
	[the following commands assume the DB is at "./database.sqlite"]
18 8707738f Vangelis Koukis
19 8707738f Vangelis Koukis
		recreate db, load db/fixtures/initial_data.json:
20 8707738f Vangelis Koukis
21 8707738f Vangelis Koukis
		$ rm database.sqlite
22 8707738f Vangelis Koukis
		$ bin/python manage.py syncdb
23 8707738f Vangelis Koukis
24 8707738f Vangelis Koukis
		load fixtures, as necessary [take a look under db/fixtures/]:
25 8707738f Vangelis Koukis
26 8707738f Vangelis Koukis
		$ bin/python manage.py loaddata db/fixtures/flavors.json
27 8707738f Vangelis Koukis
		$ bin/python manage.py loaddata db/fixtures/vms.json
28 8707738f Vangelis Koukis
		...
29 8707738f Vangelis Koukis
30 8707738f Vangelis Koukis
*** MySQL
31 8707738f Vangelis Koukis
32 8707738f Vangelis Koukis
Django configuration in settings.py:
33 8707738f Vangelis Koukis
34 8707738f Vangelis Koukis
	DATABASES = {
35 8707738f Vangelis Koukis
	    'default': {
36 8707738f Vangelis Koukis
		'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
37 8707738f Vangelis Koukis
		# ATTENTION: This *must* be the absolute path if using sqlite3.
38 8707738f Vangelis Koukis
		# See: http://docs.djangoproject.com/en/dev/ref/settings/#name
39 8707738f Vangelis Koukis
		'NAME': 'synnefo',                      # Or path to database file if using sqlite3.
40 8707738f Vangelis Koukis
		'USER': 'USERNAME',                      # Not used with sqlite3.
41 8707738f Vangelis Koukis
		'PASSWORD': 'PASSWORD',                   # Not used with sqlite3.
42 8707738f Vangelis Koukis
		'HOST': 'HOST',                # Set to empty string for localhost. Not used with sqlite3.
43 8707738f Vangelis Koukis
		'PORT': 'PORT',                         # Set to empty string for default. Not used with sqlite3.
44 8707738f Vangelis Koukis
		# Have MySQL use InnoDB as the storage engine for newly created tables
45 8707738f Vangelis Koukis
		'OPTIONS': {
46 8707738f Vangelis Koukis
		    'init_command': 'SET storage_engine=INNODB',
47 8707738f Vangelis Koukis
		}
48 8707738f Vangelis Koukis
	    }
49 8707738f Vangelis Koukis
	}
50 8707738f Vangelis Koukis
51 8707738f Vangelis Koukis
Server setup [not necessary for client operation]:
52 8707738f Vangelis Koukis
53 8707738f Vangelis Koukis
	a) Install MySQL server, set password for user 'root'
54 8707738f Vangelis Koukis
	b) Modify /etc/mysql/my.cnf to bind on public IP if you want to allow
55 8707738f Vangelis Koukis
	   allow connections from foreign hosts.
56 8707738f Vangelis Koukis
	c) Create database:
57 8707738f Vangelis Koukis
58 8707738f Vangelis Koukis
	$ mysql -u root -p
59 8707738f Vangelis Koukis
60 8707738f Vangelis Koukis
	mysql> create database synnefo;
61 8707738f Vangelis Koukis
	mysql> show databases;
62 8707738f Vangelis Koukis
	mysql> GRANT ALL on synnefo.* TO username IDENTIFIED BY 'password';
63 8707738f Vangelis Koukis
64 8707738f Vangelis Koukis
Client setup:
65 8707738f Vangelis Koukis
66 8707738f Vangelis Koukis
	d) Install the MySQL client
67 8707738f Vangelis Koukis
	# apt-get install libmysqlclient-dev
68 8707738f Vangelis Koukis
	$ bin/pip install MySQL-python
69 8707738f Vangelis Koukis
70 8707738f Vangelis Koukis
	libmysqlclient-dev provides mysql_config, otherwise installing MySQL-python fails with:
71 8707738f Vangelis Koukis
		EnvironmentError: mysql_config not found
72 8707738f Vangelis Koukis
73 8707738f Vangelis Koukis
*** PostgreSQL
74 8707738f Vangelis Koukis
75 8707738f Vangelis Koukis
Django configuration in settings.py:
76 8707738f Vangelis Koukis
77 8707738f Vangelis Koukis
	DATABASES = {
78 8707738f Vangelis Koukis
	    'default': {
79 8707738f Vangelis Koukis
		'ENGINE': 'postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
80 8707738f Vangelis Koukis
		# ATTENTION: This *must* be the absolute path if using sqlite3.
81 8707738f Vangelis Koukis
		# See: http://docs.djangoproject.com/en/dev/ref/settings/#name
82 8707738f Vangelis Koukis
		'NAME': 'DATABASE',                      # Or path to database file if using sqlite3.
83 8707738f Vangelis Koukis
		'USER': 'USERNAME',                      # Not used with sqlite3.
84 8707738f Vangelis Koukis
		'PASSWORD': 'PASSWORD',                  # Not used with sqlite3.
85 8707738f Vangelis Koukis
		'HOST': 'HOST',                # Set to empty string for localhost. Not used with sqlite3.
86 8707738f Vangelis Koukis
		'PORT': 'PORT',                         # Set to empty string for default. Not used with sqlite3.
87 8707738f Vangelis Koukis
	    }
88 8707738f Vangelis Koukis
	}
89 8707738f Vangelis Koukis
90 8707738f Vangelis Koukis
Client setup:
91 8707738f Vangelis Koukis
92 8707738f Vangelis Koukis
	# apt-get install postgresql-client-8.4
93 8707738f Vangelis Koukis
94 8707738f Vangelis Koukis
	attempt a connection:
95 8707738f Vangelis Koukis
	$ psql -h HOST -p PORT -U USERNAME
96 8707738f Vangelis Koukis
97 8707738f Vangelis Koukis
	# apt-get install libpq-dev
98 8707738f Vangelis Koukis
	$ bin/pip install psycopg2