openstreetmap-website/db
2009-05-31 17:41:25 +00:00
..
functions Add postgres implementation of tile_for_point function. 2009-05-08 08:01:33 +00:00
migrate More missing files from I18N merge. 2009-05-31 17:41:25 +00:00
MAKE_MIGRATIONS_AND_TEST_THEM_DONT_PUT_SQL_HERE_ANY_MORE add a big fat warning 2007-05-06 10:22:39 +00:00
README More tests, found a bug in the data browser, no fix yet. Fix db readme. Don't show the signup page to logged in users, by redirecting them to the home page. Remove unnessesary begin blocks in the browse controller. 2009-04-12 23:20:31 +00:00

Creating database
===================

OSM server uses a database with the following name:

openstreetmap

You may create it with your preferable client or run next (linux) command:

$ mysql -u <uid> -p

(change <uid> with appropriate username of administrative user eg. root )

> create database openstreetmap default character set utf8;
> exit

Creating user, password, and access rights
============================================

$ mysql -u <uid> -p

(change <uid> with appropriate username of administrative user eg. root )

> grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap';
> flush privileges;
> exit

Creating functions For MySQL
==============================

Run this command in the db/functions directory:

$ make libmyosm.so

Make sure the db/functions directory is on the MySQL server's library
path and restart the MySQL server. 

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.

On OS X: sudo ln -s /path_to_your_osm_install/sites/rails_port/db/functions/libmyosm.so /usr/local/lib/libmyosm.so

Now create the functions as follows:

$ mysql -u <uid> -p openstreetmap

(change <uid> with appropriate username of administrative user eg. root )

> create function tile_for_point returns integer soname 'libmyosm.so';
> create function maptile_for_point returns integer soname 'libmyosm.so';
> exit

Creating functions for PgSQL
==============================

Run this command in the db/functions directory:

$ make libpgosm.so

Now create the function as follows:

$ psql openstreetmap
(This may need authentication or a -u <dbowneruid>)

> CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 
  AS '/path/to/rails-port/db/functions/libpgosm.so', 'maptile_for_point'
  LANGUAGE C STRICT;

Creating database skeleton tables
===================================

Run this command from the root of your rails directory:

$ rake db:migrate

This will create the db for you