Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
165 additions
and
5 deletions.
There are no files selected for viewing
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
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,6 @@ | ||
BEGIN; | ||
|
||
DROP TABLE user_roles; | ||
DROP TABLE roles; | ||
|
||
COMMIT; |
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
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
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,19 @@ | ||
BEGIN; | ||
|
||
-- roles table | ||
create table roles ( | ||
id serial not null primary key, | ||
body_id integer not null references body(id) ON DELETE CASCADE, | ||
name text, | ||
permissions text ARRAY, | ||
unique(body_id, name) | ||
); | ||
|
||
-- Record which role(s) each user holds | ||
create table user_roles ( | ||
id serial not null primary key, | ||
role_id integer not null references roles(id) ON DELETE CASCADE, | ||
user_id integer not null references users(id) ON DELETE CASCADE | ||
); | ||
|
||
COMMIT; |
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
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,53 @@ | ||
use utf8; | ||
package FixMyStreet::DB::Result::Role; | ||
|
||
# Created by DBIx::Class::Schema::Loader | ||
# DO NOT MODIFY THE FIRST PART OF THIS FILE | ||
|
||
use strict; | ||
use warnings; | ||
|
||
use base 'DBIx::Class::Core'; | ||
__PACKAGE__->load_components( | ||
"FilterColumn", | ||
"FixMyStreet::InflateColumn::DateTime", | ||
"FixMyStreet::EncodedColumn", | ||
); | ||
__PACKAGE__->table("roles"); | ||
__PACKAGE__->add_columns( | ||
"id", | ||
{ | ||
data_type => "integer", | ||
is_auto_increment => 1, | ||
is_nullable => 0, | ||
sequence => "roles_id_seq", | ||
}, | ||
"body_id", | ||
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, | ||
"name", | ||
{ data_type => "text", is_nullable => 1 }, | ||
"permissions", | ||
{ data_type => "text[]", is_nullable => 1 }, | ||
); | ||
__PACKAGE__->set_primary_key("id"); | ||
__PACKAGE__->add_unique_constraint("roles_body_id_name_key", ["body_id", "name"]); | ||
__PACKAGE__->belongs_to( | ||
"body", | ||
"FixMyStreet::DB::Result::Body", | ||
{ id => "body_id" }, | ||
{ is_deferrable => 0, on_delete => "CASCADE,", on_update => "NO ACTION" }, | ||
); | ||
__PACKAGE__->has_many( | ||
"user_roles", | ||
"FixMyStreet::DB::Result::UserRole", | ||
{ "foreign.role_id" => "self.id" }, | ||
{ cascade_copy => 0, cascade_delete => 0 }, | ||
); | ||
|
||
|
||
# Created by DBIx::Class::Schema::Loader v0.07035 @ 2019-05-23 18:03:28 | ||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KkzVQZuzExH8PhZLJsnZgg | ||
|
||
|
||
# You can replace this text with custom code or comments, and it will be preserved on regeneration | ||
1; |
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
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,50 @@ | ||
use utf8; | ||
package FixMyStreet::DB::Result::UserRole; | ||
|
||
# Created by DBIx::Class::Schema::Loader | ||
# DO NOT MODIFY THE FIRST PART OF THIS FILE | ||
|
||
use strict; | ||
use warnings; | ||
|
||
use base 'DBIx::Class::Core'; | ||
__PACKAGE__->load_components( | ||
"FilterColumn", | ||
"FixMyStreet::InflateColumn::DateTime", | ||
"FixMyStreet::EncodedColumn", | ||
); | ||
__PACKAGE__->table("user_roles"); | ||
__PACKAGE__->add_columns( | ||
"id", | ||
{ | ||
data_type => "integer", | ||
is_auto_increment => 1, | ||
is_nullable => 0, | ||
sequence => "user_roles_id_seq", | ||
}, | ||
"role_id", | ||
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, | ||
"user_id", | ||
{ data_type => "integer", is_foreign_key => 1, is_nullable => 0 }, | ||
); | ||
__PACKAGE__->set_primary_key("id"); | ||
__PACKAGE__->belongs_to( | ||
"role", | ||
"FixMyStreet::DB::Result::Role", | ||
{ id => "role_id" }, | ||
{ is_deferrable => 0, on_delete => "CASCADE,", on_update => "NO ACTION" }, | ||
); | ||
__PACKAGE__->belongs_to( | ||
"user", | ||
"FixMyStreet::DB::Result::User", | ||
{ id => "user_id" }, | ||
{ is_deferrable => 0, on_delete => "CASCADE,", on_update => "NO ACTION" }, | ||
); | ||
|
||
|
||
# Created by DBIx::Class::Schema::Loader v0.07035 @ 2019-05-23 16:52:59 | ||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:1BSR4j0o5PApKEZmzVAnLg | ||
|
||
|
||
# You can replace this text with custom code or comments, and it will be preserved on regeneration | ||
1; |