]> git.openstreetmap.org Git - rails.git/blobdiff - db/README
Add convenience methods to make ACL use simpler
[rails.git] / db / README
index 1b50ccd9b9000e2bfa8d10ae1efe4a79fb4a5658..814dcb96cf8421f2912898d8b4582176b0910e0e 100644 (file)
--- a/db/README
+++ b/db/README
@@ -1,16 +1,44 @@
-you want to do something like this
+Creating database
+===================
 
-$ 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
+OSM server uses a Postgres database with the following name:
 
-(the last line above gets you to what the server has right now)
+openstreetmap
 
-$ mysql openstreetmap -u openstreetmap -p < db/migrate.sql
+You may create it with your preferable client or run next (linux) command:
 
-(this line gets you to where its going to be when we go live with rails)
+$ createdb openstreetmap
+
+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
+===================================
+
+Run this command from the root of your rails directory:
+
+$ rake db:migrate
+
+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/example.database.yml config/database.yml