mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-13 20:28:44 +01:00
[ticket/12763] Do not regenerate the *_schema.sql files
PHPBB3-12763
This commit is contained in:
parent
8332671813
commit
e45cd32de7
@ -57,187 +57,4 @@ $fp = fopen($schema_path . 'schema.json', 'wb');
|
||||
fwrite($fp, json_encode($schema_data, JSON_PRETTY_PRINT));
|
||||
fclose($fp);
|
||||
|
||||
foreach ($supported_dbms as $dbms)
|
||||
{
|
||||
$fp = fopen($schema_path . $dbms . '_schema.sql', 'wb');
|
||||
|
||||
// Write Header
|
||||
switch ($dbms)
|
||||
{
|
||||
case 'mysql_40':
|
||||
case 'mysql_41':
|
||||
case 'sqlite':
|
||||
case 'sqlite3':
|
||||
fwrite($fp, "# DO NOT EDIT THIS FILE, IT IS GENERATED\n");
|
||||
fwrite($fp, "#\n");
|
||||
fwrite($fp, "# To change the contents of this file, edit\n");
|
||||
fwrite($fp, "# phpBB/develop/create_schema_files.php and\n");
|
||||
fwrite($fp, "# run it.\n");
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
case 'oracle':
|
||||
case 'postgres':
|
||||
fwrite($fp, "/*\n");
|
||||
fwrite($fp, " * DO NOT EDIT THIS FILE, IT IS GENERATED\n");
|
||||
fwrite($fp, " *\n");
|
||||
fwrite($fp, " * To change the contents of this file, edit\n");
|
||||
fwrite($fp, " * phpBB/develop/create_schema_files.php and\n");
|
||||
fwrite($fp, " * run it.\n");
|
||||
fwrite($fp, " */\n\n");
|
||||
break;
|
||||
}
|
||||
|
||||
$line = '';
|
||||
switch ($dbms)
|
||||
{
|
||||
case 'oracle':
|
||||
$line .= custom_data('oracle') . "\n";
|
||||
break;
|
||||
|
||||
case 'postgres':
|
||||
$line .= "BEGIN;\n\n";
|
||||
$line .= custom_data('postgres') . "\n";
|
||||
$line .= "COMMIT;\n\n";
|
||||
break;
|
||||
}
|
||||
|
||||
fwrite($fp, $line);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Data put into the header for various dbms
|
||||
*/
|
||||
function custom_data($dbms)
|
||||
{
|
||||
switch ($dbms)
|
||||
{
|
||||
case 'oracle':
|
||||
return <<<EOF
|
||||
/*
|
||||
This first section is optional, however its probably the best method
|
||||
of running phpBB on Oracle. If you already have a tablespace and user created
|
||||
for phpBB you can leave this section commented out!
|
||||
|
||||
The first set of statements create a phpBB tablespace and a phpBB user,
|
||||
make sure you change the password of the phpBB user before you run this script!!
|
||||
*/
|
||||
|
||||
/*
|
||||
CREATE TABLESPACE "PHPBB"
|
||||
LOGGING
|
||||
DATAFILE 'E:\ORACLE\ORADATA\LOCAL\PHPBB.ora'
|
||||
SIZE 10M
|
||||
AUTOEXTEND ON NEXT 10M
|
||||
MAXSIZE 100M;
|
||||
|
||||
CREATE USER "PHPBB"
|
||||
PROFILE "DEFAULT"
|
||||
IDENTIFIED BY "phpbb_password"
|
||||
DEFAULT TABLESPACE "PHPBB"
|
||||
QUOTA UNLIMITED ON "PHPBB"
|
||||
ACCOUNT UNLOCK;
|
||||
|
||||
GRANT ANALYZE ANY TO "PHPBB";
|
||||
GRANT CREATE SEQUENCE TO "PHPBB";
|
||||
GRANT CREATE SESSION TO "PHPBB";
|
||||
GRANT CREATE TABLE TO "PHPBB";
|
||||
GRANT CREATE TRIGGER TO "PHPBB";
|
||||
GRANT CREATE VIEW TO "PHPBB";
|
||||
GRANT "CONNECT" TO "PHPBB";
|
||||
|
||||
COMMIT;
|
||||
DISCONNECT;
|
||||
|
||||
CONNECT phpbb/phpbb_password;
|
||||
*/
|
||||
EOF;
|
||||
|
||||
break;
|
||||
|
||||
case 'postgres':
|
||||
return <<<EOF
|
||||
/*
|
||||
Domain definition
|
||||
*/
|
||||
CREATE DOMAIN varchar_ci AS varchar(255) NOT NULL DEFAULT ''::character varying;
|
||||
|
||||
/*
|
||||
Operation Functions
|
||||
*/
|
||||
CREATE FUNCTION _varchar_ci_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) = LOWER($2)' LANGUAGE SQL STRICT;
|
||||
CREATE FUNCTION _varchar_ci_not_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) != LOWER($2)' LANGUAGE SQL STRICT;
|
||||
CREATE FUNCTION _varchar_ci_less_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) < LOWER($2)' LANGUAGE SQL STRICT;
|
||||
CREATE FUNCTION _varchar_ci_less_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) <= LOWER($2)' LANGUAGE SQL STRICT;
|
||||
CREATE FUNCTION _varchar_ci_greater_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) > LOWER($2)' LANGUAGE SQL STRICT;
|
||||
CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT;
|
||||
|
||||
/*
|
||||
Operators
|
||||
*/
|
||||
CREATE OPERATOR <(
|
||||
PROCEDURE = _varchar_ci_less_than,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = >,
|
||||
NEGATOR = >=,
|
||||
RESTRICT = scalarltsel,
|
||||
JOIN = scalarltjoinsel);
|
||||
|
||||
CREATE OPERATOR <=(
|
||||
PROCEDURE = _varchar_ci_less_equal,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = >=,
|
||||
NEGATOR = >,
|
||||
RESTRICT = scalarltsel,
|
||||
JOIN = scalarltjoinsel);
|
||||
|
||||
CREATE OPERATOR >(
|
||||
PROCEDURE = _varchar_ci_greater_than,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = <,
|
||||
NEGATOR = <=,
|
||||
RESTRICT = scalargtsel,
|
||||
JOIN = scalargtjoinsel);
|
||||
|
||||
CREATE OPERATOR >=(
|
||||
PROCEDURE = _varchar_ci_greater_equals,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = <=,
|
||||
NEGATOR = <,
|
||||
RESTRICT = scalargtsel,
|
||||
JOIN = scalargtjoinsel);
|
||||
|
||||
CREATE OPERATOR <>(
|
||||
PROCEDURE = _varchar_ci_not_equal,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = <>,
|
||||
NEGATOR = =,
|
||||
RESTRICT = neqsel,
|
||||
JOIN = neqjoinsel);
|
||||
|
||||
CREATE OPERATOR =(
|
||||
PROCEDURE = _varchar_ci_equal,
|
||||
LEFTARG = varchar_ci,
|
||||
RIGHTARG = varchar_ci,
|
||||
COMMUTATOR = =,
|
||||
NEGATOR = <>,
|
||||
RESTRICT = eqsel,
|
||||
JOIN = eqjoinsel,
|
||||
HASHES,
|
||||
MERGES,
|
||||
SORT1= <);
|
||||
|
||||
EOF;
|
||||
break;
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
echo 'done';
|
||||
|
Loading…
x
Reference in New Issue
Block a user