Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
ff832983
Commit
ff832983
authored
Aug 03, 2007
by
Jonathan.Wage
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Reorganized code.
parent
1ef946ae
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
263 additions
and
29 deletions
+263
-29
Schema.php
lib/Doctrine/Export/Schema.php
+41
-0
Xml.php
lib/Doctrine/Export/Schema/Xml.php
+34
-0
Yml.php
lib/Doctrine/Export/Schema/Yml.php
+34
-0
Schema.php
lib/Doctrine/Import/Schema.php
+62
-0
Xml.php
lib/Doctrine/Import/Schema/Xml.php
+7
-29
Yml.php
lib/Doctrine/Import/Schema/Yml.php
+85
-0
No files found.
lib/Doctrine/Export/Schema.php
0 → 100644
View file @
ff832983
<?php
/*
* $Id: Schema.php 1838 2007-06-26 00:58:21Z nicobn $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* class Doctrine_Export_Schema
*
* Different methods to import a XML schema. The logic behind using two different
* methods is simple. Some people will like the idea of producing Doctrine_Record
* objects directly, which is totally fine. But in fast and growing application,
* table definitions tend to be a little bit more volatile. importArr() can be used
* to output a table definition in a PHP file. This file can then be stored
* independantly from the object itself.
*
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision: 1838 $
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
*/
class
Doctrine_Export_Schema
{
}
\ No newline at end of file
lib/Doctrine/Export/Schema/Xml.php
0 → 100644
View file @
ff832983
<?php
/*
* $Id: Xml.php 1838 2007-06-26 00:58:21Z nicobn $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* class Doctrine_Export_Schema_Xml
*
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision: 1838 $
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
*/
class
Doctrine_Export_Schema_Xml
extends
Doctrine_Export_Schema
{
}
\ No newline at end of file
lib/Doctrine/Export/Schema/Yml.php
0 → 100644
View file @
ff832983
<?php
/*
* $Id: Yml.php 1838 2007-06-26 00:58:21Z nicobn $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* class Doctrine_Export_Schema_Yml
*
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision: 1838 $
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
*/
class
Doctrine_Export_Schema_Yml
extends
Doctrine_Export_Schema
{
}
\ No newline at end of file
lib/Doctrine/Import/Schema.php
0 → 100644
View file @
ff832983
<?php
/*
* $Id: Schema.php 1838 2007-06-26 00:58:21Z nicobn $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* class Doctrine_Import_Schema
*
* Different methods to import a XML schema. The logic behind using two different
* methods is simple. Some people will like the idea of producing Doctrine_Record
* objects directly, which is totally fine. But in fast and growing application,
* table definitions tend to be a little bit more volatile. importArr() can be used
* to output a table definition in a PHP file. This file can then be stored
* independantly from the object itself.
*
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision: 1838 $
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
* @author Jonathan H. Wage <jonwage@gmail.com>
*/
class
Doctrine_Import_Schema
{
/**
* import
*
* A method to import a Schema and translate it into a Doctrine_Record object
*
* @param string $schema The file containing the XML schema
* @param string $directory The directory where the Doctrine_Record classes will
* be written
*/
public
function
import
(
$schema
,
$directory
)
{
$builder
=
new
Doctrine_Import_Builder
();
$builder
->
setTargetPath
(
$directory
);
$arr
=
$this
->
importSchema
(
$schema
);
foreach
(
$arr
as
$name
=>
$columns
)
{
$Builder
->
buildRecord
(
$name
,
$columns
);
}
}
}
\ No newline at end of file
lib/Doctrine/Import/Xml.php
→
lib/Doctrine/Import/
Schema/
Xml.php
View file @
ff832983
<?php
/*
* $Id$
* $Id
: Xml.php 1838 2007-06-26 00:58:21Z nicobn
$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...
...
@@ -20,7 +20,7 @@
*/
/**
* class Doctrine_Import_X
ML
* class Doctrine_Import_X
ml
*
* Different methods to import a XML schema. The logic behind using two different
* methods is simple. Some people will like the idea of producing Doctrine_Record
...
...
@@ -33,32 +33,12 @@
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision$
* @version $Revision
: 1838
$
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
* @author Jonathan H. Wage <jonwage@gmail.com>
*/
class
Doctrine_Import_
Xml
class
Doctrine_Import_
Schema_Yml
extends
Doctrine_Import_Schema
{
/**
* importObj
*
* A method to import a XML Schema and translate it into a Doctrine_Record object
*
* @param string $schema The file containing the XML schema
* @param string $directory The directory where the Doctrine_Record classes will
* be written
*/
public
function
importObj
(
$schema
,
$directory
)
{
$builder
=
new
Doctrine_Import_Builder
();
$builder
->
setTargetPath
(
$directory
);
$arr
=
$this
->
importArr
(
$schema
);
foreach
(
$arr
as
$name
=>
$columns
)
{
$Builder
->
buildRecord
(
$name
,
$columns
);
}
}
/**
* importArr
*
...
...
@@ -68,7 +48,7 @@ class Doctrine_Import_Xml
* @param string $schema Path to the file containing the XML schema
* @return array
*/
public
function
import
Arr
(
$schema
)
public
function
import
Schema
(
$schema
)
{
if
(
!
is_readable
(
$schema
))
{
throw
new
Doctrine_Import_Exception
(
'Could not read schema file '
.
$schema
);
...
...
@@ -102,5 +82,3 @@ class Doctrine_Import_Xml
return
$tables
;
}
}
\ No newline at end of file
?>
lib/Doctrine/Import/Schema/Yml.php
0 → 100644
View file @
ff832983
<?php
/*
* $Id: Yml.php 1838 2007-06-26 00:58:21Z nicobn $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* class Doctrine_Import_Schema_Yml
*
* Different methods to import a YML schema. The logic behind using two different
* methods is simple. Some people will like the idea of producing Doctrine_Record
* objects directly, which is totally fine. But in fast and growing application,
* table definitions tend to be a little bit more volatile. importArr() can be used
* to output a table definition in a PHP file. This file can then be stored
* independantly from the object itself.
*
* @package Doctrine
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision: 1838 $
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
* @author Jonathan H. Wage <jonwage@gmail.com>
*/
class
Doctrine_Import_Schema_Yml
extends
Doctrine_Import_Schema
{
/**
* importSchema
*
* A method to import a Yml Schema and translate it into a property array.
* The function returns that property array.
*
* @param string $schema Path to the file containing the XML schema
* @return array
*/
public
function
importSchema
(
$schema
)
{
if
(
!
is_readable
(
$schema
))
{
throw
new
Doctrine_Import_Exception
(
'Could not read schema file '
.
$schema
);
}
// Need to figure out best way to have yaml loading/dumping in Doctrine
// $yamlArr = YamlLoad($schema);
// Go through all tables...
foreach
(
$yamlArr
[
'table'
]
as
$table
)
{
// Go through all columns...
foreach
(
$table
[
'declaration'
][
'field'
]
as
$field
)
{
$colDesc
=
array
(
'name'
=>
(
string
)
$field
[
'name'
],
'type'
=>
(
string
)
$field
[
'type'
],
'ptype'
=>
(
string
)
$field
[
'type'
],
'length'
=>
(
int
)
$field
[
'length'
],
'fixed'
=>
(
int
)
$field
[
'fixed'
],
'unsigned'
=>
(
bool
)
$field
[
'unsigned'
],
'primary'
=>
(
bool
)
(
isset
(
$field
[
'primary'
])
&&
$field
[
'primary'
]),
'default'
=>
(
string
)
$field
[
'default'
],
'notnull'
=>
(
bool
)
(
isset
(
$field
[
'notnull'
])
&&
$field
[
'notnull'
]),
'autoinc'
=>
(
bool
)
(
isset
(
$field
[
'autoincrement'
])
&&
$field
[
'autoincrement'
]),
);
$columns
[(
string
)
$field
[
'name'
]]
=
$colDesc
;
}
$tables
[(
string
)
$table
[
'name'
]]
=
$columns
;
}
return
$tables
;
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment