1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-30 10:42:41 +01:00
phorge-phorge/resources/sql/patches/000.project.sql
epriestley 917da08417 Fix various MySQL version issues with new charset stuff
Summary:
Ref T1191. Notable stuff:

  - Adds `--disable-utf8mb4` to `bin/storage` to make it easier to test what things will (approximately) do on old MySQL. This isn't 100% perfect but should catch all the major stuff. It basically makes us pretend the server is an old server.
  - Require utf8mb4 to dump a quickstart.
  - Fix some issues with quickstart generation, notably special casing the FULLTEXT handling.
  - Add an `--unsafe` flag to `bin/storage adjust` to let it truncate data to fix schemata.
  - Fix some old patches which don't work if the default table charset is utf8mb4.

Test Plan:
  - Dumped a quickstart.
  - Loaded the quickstart with utf8mb4.
  - Loaded the quickstart with `--disable-utf8mb4` (verified that we get binary columns, etc).
  - Adjusted schema with `--disable-utf8mb4` (got a long adjustment with binary columns, some truncation stuff with weird edge case test data).
  - Adjusted schema with `--disable-utf8mb4 --unsafe` (got truncations and clean adjust).
  - Adjusted schema back without `--disable-utf8mb4` (got a long adjustment with utf8mb4 columns, some invalid data on truncated utf8).
  - Adjusted schema without `--disable-utf8mb4`, but with `--unsafe` (got truncations on the invalid data).

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T1191

Differential Revision: https://secure.phabricator.com/D10757
2014-10-29 15:49:29 -07:00

29 lines
1 KiB
SQL

create table {$NAMESPACE}_project.project (
id int unsigned not null auto_increment primary key,
name varchar(255) COLLATE `binary` not null,
unique key (name),
phid varchar(64) binary not null,
authorPHID varchar(64) binary not null,
dateCreated int unsigned not null,
dateModified int unsigned not null
);
create table {$NAMESPACE}_project.project_profile (
id int unsigned not null auto_increment primary key,
projectPHID varchar(64) binary not null,
unique key (projectPHID),
blurb longtext not null,
profileImagePHID varchar(64) binary,
dateCreated int unsigned not null,
dateModified int unsigned not null
);
create table {$NAMESPACE}_project.project_affiliation (
id int unsigned not null auto_increment primary key,
projectPHID varchar(64) binary not null,
userPHID varchar(64) binary not null,
unique key (projectPHID, userPHID),
key (userPHID),
role varchar(255) not null,
status varchar(32) not null,
dateCreated int unsigned not null,
dateModified int unsigned not null
);