Fall back to adding tile numbers the hard way if the MySQL function is
[rails.git] / db / README
index 1b50ccd9b9000e2bfa8d10ae1efe4a79fb4a5658..d89a67bfb8bfb0603aac985e4dbd5295a3deff66 100644 (file)
--- a/db/README
+++ b/db/README
@@ -1,16 +1,65 @@
-you want to do something like this
+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:
+
+$ mysqladmin -u <uid> -p create openstreetmap
+
+(change <uid> with appropriate username of administrative user eg. root )
+
+Creating user, password, and access rights
+============================================
+
+$ mysql -u <uid> -p
+
+(change <uid> with appropriate username of administrative user eg. root )
 
-$ su
-# mysqladmin create openstreetmap
-# mysql
 > grant all privileges on openstreetmap.* to 'openstreetmap'@'localhost' identified by 'openstreetmap';
 > flush privileges;
 > exit
-# exit
-$ mysql openstreetmap -u openstreetmap -p < db/create_database.sql
 
-(the last line above gets you to what the server has right now)
+Creating functions
+====================
+
+Run this command in the db/functions directory:
+
+$ make
+
+The above command should work for linux and most other Unix systems
+that use ELF shared objects. For MacOS X you will need to do:
+
+$ make libquadtile.dylib
+
+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 following command as root:
+
+$ ldconfig
+
+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 'libquadtile.so';
+> exit
+
+or, for MacOS X:
+
+> create function tile_for_point returns integer soname 'libquadtile.dylib';
+> exit
+
+Creating database skeleton tables
+===================================
+
+Run this command from the root of your rails directory:
 
-$ mysql openstreetmap -u openstreetmap -p < db/migrate.sql
+$ rake db:migrate
 
-(this line gets you to where its going to be when we go live with rails)
+This will create the db for you