openstreetmap-website/db
2008-12-12 19:29:27 +00:00
..
functions CREATE FUNCTION statement for pgsql 2008-11-08 19:21:03 +00:00
migrate resync from rails_port 11795:12304 2008-12-12 19:29:27 +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 Update DB readme for PgSQL a bit 2008-11-09 10:41:48 +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 libmyosm.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', '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