Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Security/Acl] added pre-generated schemas
- Loading branch information
1 parent
20e31cd
commit b9f4eab
Showing
7 changed files
with
399 additions
and
0 deletions.
There are no files selected for viewing
43 changes: 43 additions & 0 deletions
43
src/Symfony/Component/Security/Acl/Resources/bin/generateSql.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
<?php | ||
|
||
require_once __DIR__.'/../../../../ClassLoader/UniversalClassLoader.php'; | ||
|
||
use Symfony\Component\ClassLoader\UniversalClassLoader; | ||
use Symfony\Component\Finder\Finder; | ||
use Symfony\Component\Security\Acl\Dbal\Schema; | ||
|
||
$loader = new UniversalClassLoader(); | ||
$loader->registerNamespaces(array( | ||
'Symfony' => __DIR__.'/../../../../../..', | ||
'Doctrine\\Common' => __DIR__.'/../../../../../../../vendor/doctrine-common/lib', | ||
'Doctrine\\DBAL\\Migrations' => __DIR__.'/../../../../../../../vendor/doctrine-migrations/lib', | ||
'Doctrine\\DBAL' => __DIR__.'/../../../../../../../vendor/doctrine-dbal/lib', | ||
'Doctrine' => __DIR__.'/../../../../../../../vendor/doctrine/lib', | ||
)); | ||
$loader->register(); | ||
|
||
|
||
$schema = new Schema(array( | ||
'class_table_name' => 'acl_classes', | ||
'entry_table_name' => 'acl_entries', | ||
'oid_table_name' => 'acl_object_identities', | ||
'oid_ancestors_table_name' => 'acl_object_identity_ancestors', | ||
'sid_table_name' => 'acl_security_identities', | ||
)); | ||
|
||
$reflection = new ReflectionClass('Doctrine\DBAL\Platforms\AbstractPlatform'); | ||
$finder = new Finder(); | ||
$finder->name('*.php')->in(dirname($reflection->getFileName())); | ||
foreach ($finder as $file) { | ||
require_once $file->getPathName(); | ||
$className = sprintf('Doctrine\DBAL\Platforms\%s', basename($file->getFilename(), '.php')); | ||
|
||
$reflection = new ReflectionClass($className); | ||
if ($reflection->isAbstract()) { | ||
continue; | ||
} | ||
|
||
$platform = $reflection->newInstance(); | ||
$targetFile = sprintf(__DIR__.'/../schema/%s.sql', $platform->getName()); | ||
file_put_contents($targetFile, implode("\n\n", $schema->toSql($platform))); | ||
} |
43 changes: 43 additions & 0 deletions
43
src/Symfony/Component/Security/Acl/Resources/schema/db2.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
CREATE TABLE acl_classes (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, class_type VARCHAR(200) NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX acl_classes_class_type_uniq ON acl_classes (class_type) | ||
|
||
CREATE TABLE acl_security_identities (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, identifier VARCHAR(200) NOT NULL, username SMALLINT NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX ecurity_identities_identifier_username_uniq ON acl_security_identities (identifier, username) | ||
|
||
CREATE TABLE acl_object_identities (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, parent_object_identity_id INTEGER DEFAULT NULL, class_id INTEGER NOT NULL, object_identifier VARCHAR(100) NOT NULL, entries_inheriting SMALLINT NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX object_identities_object_identifier_class_id_uniq ON acl_object_identities (object_identifier, class_id) | ||
|
||
CREATE INDEX acl_object_identities_parent_object_identity_id_idx ON acl_object_identities (parent_object_identity_id) | ||
|
||
CREATE TABLE acl_object_identity_ancestors (object_identity_id INTEGER NOT NULL, ancestor_id INTEGER NOT NULL, PRIMARY KEY(object_identity_id, ancestor_id)) | ||
|
||
CREATE INDEX acl_object_identity_ancestors_object_identity_id_idx ON acl_object_identity_ancestors (object_identity_id) | ||
|
||
CREATE INDEX acl_object_identity_ancestors_ancestor_id_idx ON acl_object_identity_ancestors (ancestor_id) | ||
|
||
CREATE TABLE acl_entries (id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL, class_id INTEGER NOT NULL, object_identity_id INTEGER DEFAULT NULL, security_identity_id INTEGER NOT NULL, field_name VARCHAR(50) DEFAULT NULL, ace_order SMALLINT NOT NULL, mask INTEGER NOT NULL, granting SMALLINT NOT NULL, granting_strategy VARCHAR(30) NOT NULL, audit_success SMALLINT NOT NULL, audit_failure SMALLINT NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX cl_entries_class_id_dentity_id_field_name_ace_order_uniq ON acl_entries (class_id, object_identity_id, field_name, ace_order) | ||
|
||
CREATE INDEX acl_entries_class_id_ct_identity_id_ty_identity_id_idx ON acl_entries (class_id, object_identity_id, security_identity_id) | ||
|
||
CREATE INDEX acl_entries_class_id_idx ON acl_entries (class_id) | ||
|
||
CREATE INDEX acl_entries_object_identity_id_idx ON acl_entries (object_identity_id) | ||
|
||
CREATE INDEX acl_entries_security_identity_id_idx ON acl_entries (security_identity_id) | ||
|
||
ALTER TABLE acl_object_identities ADD CONSTRAINT acl_object_identities_parent_object_identity_id_fk FOREIGN KEY (parent_object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE RESTRICT ON DELETE RESTRICT | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_ancestor_id_fk FOREIGN KEY (ancestor_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_class_id_fk FOREIGN KEY (class_id) REFERENCES acl_classes(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_security_identity_id_fk FOREIGN KEY (security_identity_id) REFERENCES acl_security_identities(id) ON UPDATE CASCADE ON DELETE CASCADE |
43 changes: 43 additions & 0 deletions
43
src/Symfony/Component/Security/Acl/Resources/schema/mssql.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
CREATE TABLE acl_classes (id INT IDENTITY NOT NULL, class_type NVARCHAR(200) NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX acl_classes_class_type_uniq ON acl_classes (class_type) WHERE class_type IS NOT NULL | ||
|
||
CREATE TABLE acl_security_identities (id INT IDENTITY NOT NULL, identifier NVARCHAR(200) NOT NULL, username BIT DEFAULT '0' NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX ecurity_identities_identifier_username_uniq ON acl_security_identities (identifier, username) WHERE identifier IS NOT NULL AND username IS NOT NULL | ||
|
||
CREATE TABLE acl_object_identities (id INT IDENTITY NOT NULL, parent_object_identity_id INT DEFAULT NULL, class_id INT NOT NULL, object_identifier NVARCHAR(100) NOT NULL, entries_inheriting BIT DEFAULT '0' NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX object_identities_object_identifier_class_id_uniq ON acl_object_identities (object_identifier, class_id) WHERE object_identifier IS NOT NULL AND class_id IS NOT NULL | ||
|
||
CREATE INDEX acl_object_identities_parent_object_identity_id_idx ON acl_object_identities (parent_object_identity_id) | ||
|
||
CREATE TABLE acl_object_identity_ancestors (object_identity_id INT NOT NULL, ancestor_id INT NOT NULL, PRIMARY KEY(object_identity_id, ancestor_id)) | ||
|
||
CREATE INDEX acl_object_identity_ancestors_object_identity_id_idx ON acl_object_identity_ancestors (object_identity_id) | ||
|
||
CREATE INDEX acl_object_identity_ancestors_ancestor_id_idx ON acl_object_identity_ancestors (ancestor_id) | ||
|
||
CREATE TABLE acl_entries (id INT IDENTITY NOT NULL, class_id INT NOT NULL, object_identity_id INT DEFAULT NULL, security_identity_id INT NOT NULL, field_name NVARCHAR(50) DEFAULT NULL, ace_order SMALLINT NOT NULL, mask INT NOT NULL, granting BIT NOT NULL, granting_strategy NVARCHAR(30) NOT NULL, audit_success BIT DEFAULT '0' NOT NULL, audit_failure BIT DEFAULT '0' NOT NULL, PRIMARY KEY(id)) | ||
|
||
CREATE UNIQUE INDEX cl_entries_class_id_dentity_id_field_name_ace_order_uniq ON acl_entries (class_id, object_identity_id, field_name, ace_order) WHERE class_id IS NOT NULL AND object_identity_id IS NOT NULL AND field_name IS NOT NULL AND ace_order IS NOT NULL | ||
|
||
CREATE INDEX acl_entries_class_id_ct_identity_id_ty_identity_id_idx ON acl_entries (class_id, object_identity_id, security_identity_id) | ||
|
||
CREATE INDEX acl_entries_class_id_idx ON acl_entries (class_id) | ||
|
||
CREATE INDEX acl_entries_object_identity_id_idx ON acl_entries (object_identity_id) | ||
|
||
CREATE INDEX acl_entries_security_identity_id_idx ON acl_entries (security_identity_id) | ||
|
||
ALTER TABLE acl_object_identities ADD CONSTRAINT acl_object_identities_parent_object_identity_id_fk FOREIGN KEY (parent_object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE RESTRICT ON DELETE RESTRICT | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_ancestor_id_fk FOREIGN KEY (ancestor_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_class_id_fk FOREIGN KEY (class_id) REFERENCES acl_classes(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_security_identity_id_fk FOREIGN KEY (security_identity_id) REFERENCES acl_security_identities(id) ON UPDATE CASCADE ON DELETE CASCADE |
21 changes: 21 additions & 0 deletions
21
src/Symfony/Component/Security/Acl/Resources/schema/mysql.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
CREATE TABLE acl_classes (id INT AUTO_INCREMENT NOT NULL, class_type VARCHAR(200) NOT NULL, UNIQUE INDEX acl_classes_class_type_uniq (class_type), PRIMARY KEY(id)) ENGINE = InnoDB | ||
|
||
CREATE TABLE acl_security_identities (id INT AUTO_INCREMENT NOT NULL, identifier VARCHAR(200) NOT NULL, username TINYINT(1) DEFAULT '0' NOT NULL, UNIQUE INDEX ecurity_identities_identifier_username_uniq (identifier, username), PRIMARY KEY(id)) ENGINE = InnoDB | ||
|
||
CREATE TABLE acl_object_identities (id INT AUTO_INCREMENT NOT NULL, parent_object_identity_id INT DEFAULT NULL, class_id INT NOT NULL, object_identifier VARCHAR(100) NOT NULL, entries_inheriting TINYINT(1) DEFAULT '0' NOT NULL, UNIQUE INDEX object_identities_object_identifier_class_id_uniq (object_identifier, class_id), INDEX acl_object_identities_parent_object_identity_id_idx (parent_object_identity_id), PRIMARY KEY(id)) ENGINE = InnoDB | ||
|
||
CREATE TABLE acl_object_identity_ancestors (object_identity_id INT NOT NULL, ancestor_id INT NOT NULL, INDEX acl_object_identity_ancestors_object_identity_id_idx (object_identity_id), INDEX acl_object_identity_ancestors_ancestor_id_idx (ancestor_id), PRIMARY KEY(object_identity_id, ancestor_id)) ENGINE = InnoDB | ||
|
||
CREATE TABLE acl_entries (id INT AUTO_INCREMENT NOT NULL, class_id INT NOT NULL, object_identity_id INT DEFAULT NULL, security_identity_id INT NOT NULL, field_name VARCHAR(50) DEFAULT NULL, ace_order SMALLINT NOT NULL, mask INT NOT NULL, granting TINYINT(1) NOT NULL, granting_strategy VARCHAR(30) NOT NULL, audit_success TINYINT(1) DEFAULT '0' NOT NULL, audit_failure TINYINT(1) DEFAULT '0' NOT NULL, UNIQUE INDEX cl_entries_class_id_dentity_id_field_name_ace_order_uniq (class_id, object_identity_id, field_name, ace_order), INDEX acl_entries_class_id_ct_identity_id_ty_identity_id_idx (class_id, object_identity_id, security_identity_id), INDEX acl_entries_class_id_idx (class_id), INDEX acl_entries_object_identity_id_idx (object_identity_id), INDEX acl_entries_security_identity_id_idx (security_identity_id), PRIMARY KEY(id)) ENGINE = InnoDB | ||
|
||
ALTER TABLE acl_object_identities ADD CONSTRAINT acl_object_identities_parent_object_identity_id_fk FOREIGN KEY (parent_object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE RESTRICT ON DELETE RESTRICT | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT acl_object_identity_ancestors_ancestor_id_fk FOREIGN KEY (ancestor_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_class_id_fk FOREIGN KEY (class_id) REFERENCES acl_classes(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_object_identity_id_fk FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities(id) ON UPDATE CASCADE ON DELETE CASCADE | ||
|
||
ALTER TABLE acl_entries ADD CONSTRAINT acl_entries_security_identity_id_fk FOREIGN KEY (security_identity_id) REFERENCES acl_security_identities(id) ON UPDATE CASCADE ON DELETE CASCADE |
Oops, something went wrong.