1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 21:02:41 +01:00
phorge-phorge/resources/sql/patches/006.repository.sql
epriestley 68b597ff75 SQL Patch Management: SQL Changes
Summary:
Splits out the SQL changes. These are most of the changes, but primarily mechanical:

  - Moved "initialize.sql" to "0000.legacy.sql" and partially reverted to an older version, such that patches 0000 + 000 + 001 + ... + 137 put us in the right state when applied sequentially.
  - Removed "create database" commands from all SQL. These are handled by separate DB patches now, so we have the data to do operations like "storage databases" (list databases) and "storage destroy" (drop databases).
  - Removed "phabricator_" namespace from all SQL, and replaced with "{$NAMESPACE}_" token so we can namespace databases.
  - Shortened some column lengths so patches apply correctly if originally created as InnoDB; also a few similar tweaks elsewhere.

Test Plan: See D2323 for discussion and test plan.

Reviewers: edward, vrana, btrahan, jungejason

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T140, T345

Differential Revision: https://secure.phabricator.com/D2329
2012-04-30 07:53:53 -07:00

56 lines
2 KiB
SQL

create table {$NAMESPACE}_repository.repository_commitdata (
id int unsigned not null auto_increment primary key,
commitID int unsigned not null,
authorName varchar(255) not null,
commitMessage longblob not null,
unique key (commitID),
key (authorName)
);
ALTER TABLE {$NAMESPACE}_worker.worker_task drop priority;
ALTER TABLE {$NAMESPACE}_worker.worker_task drop key leaseOwner;
ALTER TABLE {$NAMESPACE}_worker.worker_task add key (leaseOwner(16));
create table {$NAMESPACE}_repository.repository_path (
id int unsigned not null auto_increment primary key,
path varchar(128) binary not null,
unique key (path)
);
create table {$NAMESPACE}_repository.repository_pathchange (
repositoryID int unsigned NOT NULL,
pathID int unsigned NOT NULL,
commitID int unsigned NOT NULL,
targetPathID int unsigned,
targetCommitID int unsigned,
changeType int unsigned NOT NULL,
fileType int unsigned NOT NULL,
isDirect bool NOT NULL,
commitSequence int unsigned NOT NULL,
primary key (commitID, pathID),
key (repositoryID, pathID, commitSequence)
);
create table {$NAMESPACE}_repository.repository_filesystem (
repositoryID int unsigned not null,
parentID int unsigned not null,
svnCommit int unsigned not null,
pathID int unsigned not null,
existed bool not null,
fileType int unsigned not null,
primary key (repositoryID, parentID, svnCommit, pathID)
);
alter table {$NAMESPACE}_repository.repository_filesystem add key (repositoryID, svnCommit);
truncate {$NAMESPACE}_repository.repository_commit;
alter table {$NAMESPACE}_repository.repository_commit
change repositoryPHID repositoryID int unsigned not null;
alter table {$NAMESPACE}_repository.repository_commit drop key repositoryPHID;
alter table {$NAMESPACE}_repository.repository_commit add unique key
(repositoryID, commitIdentifier(16));
alter table {$NAMESPACE}_repository.repository_commit add key
(repositoryID, epoch);
alter table {$NAMESPACE}_repository.repository_filesystem
add key (repositoryID, pathID, svnCommit);