Mass rename of "bugs" as "notes" for increased user friendliness
[rails.git] / db / README
index 466a16cc475586a8287b97627c4cf9cb7a6a5b40..db4f5c20ea23b4e6afa25259087e1556d83bd73b 100644 (file)
--- a/db/README
+++ b/db/README
@@ -1,36 +1,89 @@
 Creating database
-=====================
+===================
 
-OSM server use databse with follow name :
+OSM server uses a database with the following name:
 
 openstreetmap
 
-You may create it with your prefrable client or run next (linux) command :
+You may create it with your preferable client or run next (linux) command:
 
-$ mysqladmin -u <uid> -p create openstreetmap
+$ mysql -u <uid> -p
+
+(change <uid> with appropriate username of administrative user eg. root )
 
-(change <uid> with appropriate username of administrativ user eg. root )
+> create database openstreetmap default character set utf8;
+> exit
 
-Creating user, password, and access rightts
-=============================================
+Creating user, password, and access rights
+============================================
 
 $ mysql -u <uid> -p
 
-(change <uid> with appropriate username of administrativ user eg. root )
+(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
+
+You might also need to install:
+- mysql client development libraries:  $ sudo apt-get install libmysqlclient16-dev 
+- ruby development libraries:          $ sudo apt-get install ruby1.8-dev
+for build to succeed.
+
+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
+
+You might also need to install:
+- postgresql development libraries:    $ sudo apt-get install postgresql-server-dev-8.3
+- ruby development libraries:          $ sudo apt-get install ruby1.8-dev
+for build to succeed.
+
+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
 ===================================
 
-$ mysql openstreetmap -u openstreetmap -p < db/create_database.sql
-
-New server patch (RAILS)
-==========================
+Run this command from the root of your rails directory:
 
-Run follow command to prepare tables to be OSM REILS distribution compatible :
+$ rake db:migrate
 
-$ mysql openstreetmap -u openstreetmap -p < db/migrate.sql
+This will create the db for you
 
+You will need to make sure the database connection is configured in database.yml in config directory
+You might start with example configuration provided: 
+$ cp config/mysql.example.database.yml config/database.yml