resync from rails_port 11795:12304
[rails.git] / db / README
1 Creating database
2 ===================
3
4 OSM server uses a database with the following name:
5
6 openstreetmap
7
8 You may create it with your preferable client or run next (linux) command:
9
10 $ mysql -u <uid> -p
11
12 (change <uid> with appropriate username of administrative user eg. root )
13
14 > create database openstreetmap default character set utf8;
15 > exit
16
17 Creating user, password, and access rights
18 ============================================
19
20 $ mysql -u <uid> -p
21
22 (change <uid> with appropriate username of administrative user eg. root )
23
24 > grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap';
25 > flush privileges;
26 > exit
27
28 Creating functions For MySQL
29 ==============================
30
31 Run this command in the db/functions directory:
32
33 $ make libmyosm.so
34
35 Make sure the db/functions directory is on the MySQL server's library
36 path and restart the MySQL server. 
37
38 On Linux the easiest way to do this is to create /etc/ld.so.conf.d/osm.conf, and place the path to the db/functions directory in it and then run the ldconfig command as root.
39
40 On OS X: sudo ln -s /path_to_your_osm_install/sites/rails_port/db/functions/libmyosm.so /usr/local/lib/libmyosm.so
41
42 Now create the functions as follows:
43
44 $ mysql -u <uid> -p openstreetmap
45
46 (change <uid> with appropriate username of administrative user eg. root )
47
48 > create function tile_for_point returns integer soname 'libmyosm.so';
49 > create function maptile_for_point returns integer soname 'libmyosm.so';
50 > exit
51
52 Creating functions for PgSQL
53 ==============================
54
55 Run this command in the db/functions directory:
56
57 $ make libmyosm.so
58
59 Now create the function as follows:
60
61 $ psql openstreetmap
62 (This may need authentication or a -u <dbowneruid>)
63
64 > CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 
65   AS '/path/to/rails-port/db/functions/libpgosm', 'maptile_for_point'
66   LANGUAGE C STRICT;
67
68 Creating database skeleton tables
69 ===================================
70
71 Run this command from the root of your rails directory:
72
73 $ rake db:migrate
74
75 This will create the db for you