mirror of
https://github.com/atlanticbiomedical/portal-legacy.git
synced 2025-07-02 01:47:28 -04:00
initial commit
This commit is contained in:
176
lib/symfony/vendor/propel-generator/INSTALL
vendored
Executable file
176
lib/symfony/vendor/propel-generator/INSTALL
vendored
Executable file
@ -0,0 +1,176 @@
|
||||
|
||||
I N S T A L L I N G P R O P E L
|
||||
==================================
|
||||
|
||||
This is a quick guide for installing Propel and building the provided sample
|
||||
bookstore application. For more information on installation / configuration
|
||||
see the online user guide available from main site: http://propel.phpdb.org
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
Before you can install and run Propel you will need to have the following:
|
||||
|
||||
* PHP >= 5.0.0
|
||||
Propel will only work with PHP5. Additionally, you must have a command-
|
||||
line version of PHP5 in order to use PHING to build the classes and SQL
|
||||
files for your data model. PHP must also have compiled in XML (libxml2, xsl)
|
||||
support in order to take advantage of all build options.
|
||||
|
||||
* PHING >= 2.0.0
|
||||
Propel uses the PHING build system to build the classes and SQL definition
|
||||
files for your data model. PHING is an open-source project build system
|
||||
based on Apache ANT. PHING 2 is the (development) version built for PHP5.
|
||||
See http://phing.tigris.org/ to learn how to install Phing (it's easy).
|
||||
|
||||
* Creole >- 1.0.0
|
||||
Creole is a Uniform DB API framework for PHP5. Creole is available as a PEAR
|
||||
package or can be installed in a more traditional manner. See
|
||||
http://creole.phpdb.org/ to get a copy of the Creole classes.
|
||||
|
||||
* A supported RDBMS
|
||||
Creole currently supports MySQL, MS SQL Server, PostgreSQL, and SQLite. We
|
||||
are working on support for Oracle and the new MySQLi drivers but this should
|
||||
be considered alpha, at best.
|
||||
|
||||
Quick Install (PEAR)
|
||||
--------------------
|
||||
|
||||
It is now possible to install both the Propel runtime and the generator classes as
|
||||
PEAR packages. This is the quickest way to get up and running with Propel, but may
|
||||
not be quite as easy to configure as the traditional installation method.
|
||||
|
||||
* Propel Generator:
|
||||
|
||||
% pear install http://propel.phpdb.org/pear/propel_generator-current.tgz
|
||||
|
||||
To use the generator to build sql, php classes, etc. simply use the propel-gen shell
|
||||
script:
|
||||
|
||||
% propel-gen /path/to/my/projectdir
|
||||
|
||||
(See the sample bookstore project directory in your PEAR data directory for a sample
|
||||
projectdir.)
|
||||
|
||||
* Propel Runtime:
|
||||
|
||||
% pear install http://propel.phpdb.org/pear/propel_runtime-current.tgz
|
||||
|
||||
It is recommended that you read over the traditional install guide also, so that you
|
||||
understand the roles of some of the various files. In the PEAR install these files
|
||||
(e.g. the main build.properties and the sample bookstore project) are stored in the
|
||||
PEAR data dir (e.g. /usr/local/lib/php/data, C:\PHP\PEAR\data).
|
||||
|
||||
|
||||
Traditional Installation
|
||||
------------------------
|
||||
|
||||
Installation of Propel involves a few steps because Propel is composed of a generator
|
||||
and runtime classes which are (now) packaged separately.
|
||||
|
||||
Begin installation of Propel by choosing a base directory and unpacking the archive.
|
||||
|
||||
For the sake of simplicity, we'll assume that you are installing from a package
|
||||
(instead of CVS) into /var/www/php/.
|
||||
|
||||
% cd /var/www/php
|
||||
% tar zxf /path/to/propel-x.x.x.tar.gz
|
||||
% ln -s propel-x.x.x propel
|
||||
|
||||
A. Propel Generator
|
||||
|
||||
The Propel generator classes don't need any special setup. The classes and Phing
|
||||
scripts are located in the propel-generator/ directory (which in our example is
|
||||
/var/www/php/propel/generator).
|
||||
|
||||
B. Runtime Classes
|
||||
|
||||
The runtime classes were unpacked to the propel/ directory (in this example,
|
||||
/var/www/php/propel). In order to use these classes in runtime applications, you will
|
||||
need to make sure that they are on the PHP include_path. In our example, the
|
||||
following directory would need to be added to your PHP include_path:
|
||||
/var/www/php/propel/classes. You could also copy the
|
||||
/var/www/php/propel/classes/propel directory to a location that is already on your
|
||||
include_path, e.g. the directory where PEAR classes are located:
|
||||
|
||||
% cp -r /var/www/php/propel/runtime/classes/propel /usr/local/lib/php/
|
||||
|
||||
Another option on *nix systems is to create a symlink:
|
||||
|
||||
% ln -s /var/www/php/propel/runtime/classes/propel /usr/local/lib/php/propel
|
||||
|
||||
|
||||
Quick Test
|
||||
----------
|
||||
|
||||
If you want to quickly test & see whether your installation is working, you can use
|
||||
the default configuration which will build the example application using SQLite.
|
||||
|
||||
Here is how to run the simple test on Unix (use corresponding commands for Windows).
|
||||
If you run into trouble, don't panic -- just continue reading the INSTALL guide and
|
||||
consult the Installation chapter of the online user guide at http://propel.phpdb.org.
|
||||
|
||||
Change to your propel-generator dir (e.g.)
|
||||
$> cd /var/www/php/propel/generator
|
||||
|
||||
If using Propel from CVS, copy/rename the build.properties-sample file:
|
||||
$> cp build.properties-sample build.properties
|
||||
|
||||
Run Phing to build the classes and SQL files, specifying the bookstore project
|
||||
$> phing -Dproject=bookstore
|
||||
|
||||
Run the 'insert-sql' target which will add the tables to the SQLite db
|
||||
$> phing -Dproject=bookstore insert-sql
|
||||
|
||||
Run the test script that uses the generated classes against the bookstore db:
|
||||
$> cd test/
|
||||
$> php -f bookstore-test.php
|
||||
|
||||
You should see a bunch of output as it tests use cases. Hopefully there aren't any
|
||||
"FAILED" messages. If you get a failed message immediately indicating that it can't
|
||||
find one of the tables make sure that you a) ran the 'insert'-sql' target and that
|
||||
you are running the bookstore-test.php script from the main propel directory *and*
|
||||
that you call PHP with the -qC options so that it won't chdir() into the scripts
|
||||
directory. (The path for the bookstore.db is ./test/bookstore.db so you can see
|
||||
that you need to be in the main propel directory for that to work.)
|
||||
|
||||
|
||||
Configure
|
||||
---------
|
||||
|
||||
To get Propel to work with your own db setup, create a new project (easiest way is
|
||||
to use the bookstore project directory as a template). Create your datamodel schema,
|
||||
modify the build.properties for that project to specify database connection
|
||||
information, and set the db connection runtime properties in runtime-conf.xml.
|
||||
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
This assumes that you have already installed and configured a copy of PHING 2.
|
||||
|
||||
% cd /var/www/php/propel/generator
|
||||
% phing -Dproject=mykillerapp
|
||||
|
||||
This will build the SQL files and the object & peer classes based on your datamodel
|
||||
schema XML file.
|
||||
|
||||
The resulting files will be placed in:
|
||||
/var/www/php/propel/generator/projects/mykillerapp/build
|
||||
|
||||
If you encounter any problems, try adding -verbose or -debug to get more output
|
||||
from the PHING build process.
|
||||
|
||||
|
||||
You're Done!
|
||||
------------
|
||||
|
||||
At this point hopefully you have successfully built the classes and SQL definitions
|
||||
for the sample bookstore application. If you encountered problems, please visit
|
||||
http://propel.phpdb.org to read additional documention, browse through the users
|
||||
mailing list, or add a bug report.
|
||||
|
||||
Enjoy!
|
||||
|
||||
--$Id: INSTALL,v 1.4 2005/03/24 00:24:07 hlellelid Exp $
|
Reference in New Issue
Block a user