Skip to content

Commit

Permalink
Merge branch 'lists'
Browse files Browse the repository at this point in the history
  • Loading branch information
theory committed Dec 31, 2013
2 parents 0595297 + 2f00d3b commit 5a58089
Show file tree
Hide file tree
Showing 10 changed files with 117 additions and 0 deletions.
22 changes: 22 additions & 0 deletions deploy/delete_list.sql
@@ -0,0 +1,22 @@
-- Deploy delete_list
-- requires: lists
-- requires: appuser

BEGIN;

DELIMITER //

CREATE FUNCTION delete_list(
list_id BIGINT
) RETURNS BIGINT SQL SECURITY DEFINER
BEGIN
DELETE FROM lists WHERE id = list_id;
RETURN ROW_COUNT();
END;
//

DELIMITER ;

GRANT EXECUTE ON FUNCTION delete_list to flipr;

COMMIT;
25 changes: 25 additions & 0 deletions deploy/insert_list.sql
@@ -0,0 +1,25 @@
-- Deploy insert_list
-- requires: lists
-- requires: appuser

BEGIN;

DELIMITER //

CREATE FUNCTION insert_list(
nickname VARCHAR(512),
name VARCHAR(512),
description TEXT
) RETURNS BIGINT SQL SECURITY DEFINER
BEGIN
INSERT INTO lists (nickname, name, description, created_at)
VALUES (nickname, name, description, UTC_TIMESTAMP(6));
RETURN LAST_INSERT_ID();
END;
//

DELIMITER ;

GRANT EXECUTE ON FUNCTION insert_list to flipr;

COMMIT;
17 changes: 17 additions & 0 deletions deploy/lists.sql
@@ -0,0 +1,17 @@
-- Deploy lists
-- requires: appuser
-- requires: users

BEGIN;

CREATE TABLE lists (
id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
nickname VARCHAR(512) NOT NULL REFERENCES users(nickname),
name VARCHAR(512) NOT NULL,
description TEXT NOT NULL,
created_at DATETIME(6) NOT NULL
);

GRANT SELECT ON TABLE lists TO flipr;

COMMIT;
7 changes: 7 additions & 0 deletions revert/delete_list.sql
@@ -0,0 +1,7 @@
-- Revert delete_list

BEGIN;

DROP FUNCTION delete_list;

COMMIT;
7 changes: 7 additions & 0 deletions revert/insert_list.sql
@@ -0,0 +1,7 @@
-- Revert insert_list

BEGIN;

DROP FUNCTION insert_list;

COMMIT;
7 changes: 7 additions & 0 deletions revert/lists.sql
@@ -0,0 +1,7 @@
-- Revert lists

BEGIN;

DROP TABLE lists;

COMMIT;
4 changes: 4 additions & 0 deletions sqitch.plan
Expand Up @@ -7,3 +7,7 @@ users [appuser] 2013-12-31T21:32:48Z Marge N. O’Vera <marge@example.com> # Cre
insert_user [users appuser] 2013-12-31T21:37:29Z Marge N. O’Vera <marge@example.com> # Creates a function to insert a user.
change_pass [users appuser] 2013-12-31T21:37:36Z Marge N. O’Vera <marge@example.com> # Creates a function to change a user password.
@v1.0.0-dev1 2013-12-31T21:41:08Z Marge N. O’Vera <marge@example.com> # Tag v1.0.0-dev1.

lists [appuser users] 2013-12-31T21:46:22Z Marge N. O’Vera <marge@example.com> # Adds table for storing lists.
insert_list [lists appuser] 2013-12-31T21:48:14Z Marge N. O’Vera <marge@example.com> # Creates a function to insert a list.
delete_list [lists appuser] 2013-12-31T21:49:41Z Marge N. O’Vera <marge@example.com> # Creates a function to insert a list.
10 changes: 10 additions & 0 deletions verify/delete_list.sql
@@ -0,0 +1,10 @@
-- Verify delete_list

BEGIN;

SELECT sqitch.checkit(COUNT(*), 'Procedure "delete_list" does not exist')
FROM mysql.proc
WHERE db = database()
AND specific_name = 'delete_list';

ROLLBACK;
10 changes: 10 additions & 0 deletions verify/insert_list.sql
@@ -0,0 +1,10 @@
-- Verify insert_list

BEGIN;

SELECT sqitch.checkit(COUNT(*), 'Procedure "insert_list" does not exist')
FROM mysql.proc
WHERE db = database()
AND specific_name = 'insert_list';

ROLLBACK;
8 changes: 8 additions & 0 deletions verify/lists.sql
@@ -0,0 +1,8 @@
-- Verify lists

BEGIN;

SELECT id, nickname, name, description, created_at
FROM lists;

ROLLBACK;

0 comments on commit 5a58089

Please sign in to comment.