From 2409308ca027f73d7684631c97ba3f5cbb90db01 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 20:55:22 -0400 Subject: [PATCH 01/15] Update mysql ini for ci --- test_mysql.ini | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/test_mysql.ini b/test_mysql.ini index a08f4c53..bb55bed3 100644 --- a/test_mysql.ini +++ b/test_mysql.ini @@ -26,12 +26,17 @@ combo_server=127.0.0.1:8000 combo_cache_id= # file to include on each page that includes things such as google analytics code -installspecific = +installspecific = /home/rharding/src/bookie/bookie/installspecific.txt # Where are we going to upload import files while we wait to process them # we leave this commented out in tests, just let it use the default tmp dir #import_files=%(here)s/data/imports +celery_broker=redis://localhost:6379/9 +celery_concurrency=1 + +# Where are we going to upload import files while we wait to process them +import_files={here}/data/imports [server:main] use = egg:Paste#http @@ -41,7 +46,7 @@ port = 6543 # Begin logging configuration [loggers] -keys = root, bookie, sqlalchemy +keys = root, bookie, celery, breadability [handlers] keys = console @@ -50,16 +55,26 @@ keys = console keys = generic [logger_root] -level = DEBUG +level = INFO handlers = console [logger_bookie] -level = DEBUG +level = WARN handlers = qualname = bookie +[logger_breadability] +level = WARN +handlers = +qualname = breadability + +[logger_celery] +level = WARN +handlers = +qualname = bookie.bcelery.tasks + [logger_sqlalchemy] -level = DEBUG +level = WARN handlers = console qualname = sqlalchemy.engine # "level = INFO" logs SQL queries. @@ -69,7 +84,7 @@ qualname = sqlalchemy.engine [handler_console] class = StreamHandler args = (sys.stderr,) -level = DEBUG +level = INFO formatter = generic [formatter_generic] From 1b872578b6cb9b12d9d29b320c21886efd6398d0 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:16:09 -0400 Subject: [PATCH 02/15] Adjust the drop constraint for mysql --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index b985c9e7..36eb5b5b 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -22,7 +22,7 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_constraint("bmarks_username_fkey", "bmarks") + op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From 9d79c784c709c999800bd8fffe4fc8ad72586ca5 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:20:06 -0400 Subject: [PATCH 03/15] Fix the param --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 36eb5b5b..cf7af217 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -22,7 +22,7 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") + op.drop_constraint("bmarks_username_fkey", "bmarks", type_="foreignkey") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From 4a1a99fdd50efbcb4edb81313e6f0b4e75b06d07 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:21:51 -0400 Subject: [PATCH 04/15] Fix the param --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index cf7af217..36eb5b5b 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -22,7 +22,7 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_constraint("bmarks_username_fkey", "bmarks", type_="foreignkey") + op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From 0563ec1375ceede5d234f046cf23527350bf5854 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:24:16 -0400 Subject: [PATCH 05/15] Fix the param --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 36eb5b5b..0265f979 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -23,6 +23,7 @@ def upgrade(): try: op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") + op.drop_constraint("bmarks_username_fkey", "bmarks", type="index") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From 21dfe82ae63967cc42ef156252cf81f248981f7c Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:25:24 -0400 Subject: [PATCH 06/15] Fix the param --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 0265f979..aa7f78d4 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -23,7 +23,7 @@ def upgrade(): try: op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") - op.drop_constraint("bmarks_username_fkey", "bmarks", type="index") + op.drop_index("bmarks_username_fkey", "bmarks") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From f00a288c09b6e59a4df882beb1b03aa891907e8e Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:27:47 -0400 Subject: [PATCH 07/15] Fix the param --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index aa7f78d4..9857d698 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -22,8 +22,8 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") op.drop_index("bmarks_username_fkey", "bmarks") + op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") print 'dropped constraint' except sa.exc.OperationalError: # If it's not supported then pass From f158093b2f38e29249edaede3299befaf2cd84ca Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:29:53 -0400 Subject: [PATCH 08/15] Comment out the migration to get the db setup to interrogate --- .../44dccb7b8b82_update_username_to_l.py | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 9857d698..08322324 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -15,46 +15,46 @@ def upgrade(): - connection = op.get_bind() - current_context = op.get_context() - meta = current_context.opts['target_metadata'] - users = sa.Table('users', meta, autoload=True) - bmarks = sa.Table('bmarks', meta, autoload=True) - - try: - op.drop_index("bmarks_username_fkey", "bmarks") - op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") - print 'dropped constraint' - except sa.exc.OperationalError: - # If it's not supported then pass - pass - - sel = sa.select([users]) - for user in connection.execute(sel): - print 'updating for user: ' + user['username'] - lowered = sa.func.lower(user['username']) - - stmt = users.update().\ - where(users.c.username == user['username']).\ - values(username=lowered) - connection.execute(stmt) - - stmt = bmarks.update().\ - where(bmarks.c.username == user['username']).\ - values(username=lowered) - connection.execute(stmt) - print 'done user: ' + user['username'] - - try: - op.create_foreign_key( - "bmarks_username_fkey", "bmarks", - "users", ["username"], ["username"]) - - print 'added constraint' - except sa.exc.OperationalError: - # If it's not supported then pass - pass - + # connection = op.get_bind() + # current_context = op.get_context() + # meta = current_context.opts['target_metadata'] + # users = sa.Table('users', meta, autoload=True) + # bmarks = sa.Table('bmarks', meta, autoload=True) + # + # try: + # op.drop_index("bmarks_username_fkey", "bmarks") + # op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") + # print 'dropped constraint' + # except sa.exc.OperationalError: + # # If it's not supported then pass + # pass + # + # sel = sa.select([users]) + # for user in connection.execute(sel): + # print 'updating for user: ' + user['username'] + # lowered = sa.func.lower(user['username']) + # + # stmt = users.update().\ + # where(users.c.username == user['username']).\ + # values(username=lowered) + # connection.execute(stmt) + # + # stmt = bmarks.update().\ + # where(bmarks.c.username == user['username']).\ + # values(username=lowered) + # connection.execute(stmt) + # print 'done user: ' + user['username'] + # + # try: + # op.create_foreign_key( + # "bmarks_username_fkey", "bmarks", + # "users", ["username"], ["username"]) + # + # print 'added constraint' + # except sa.exc.OperationalError: + # # If it's not supported then pass + # pass + # def downgrade(): pass From c7d1f40946c5f5ba156040df553bf9b519fb7b87 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Wed, 21 May 2014 21:32:51 -0400 Subject: [PATCH 09/15] Comment out the migration to get the db setup to interrogate --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 08322324..3c5417ef 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -15,6 +15,7 @@ def upgrade(): + pass # connection = op.get_bind() # current_context = op.get_context() # meta = current_context.opts['target_metadata'] From 3502cf14dc68e624de515bc13123ac9bd103625d Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Thu, 5 Jun 2014 08:55:38 -0400 Subject: [PATCH 10/15] Update migration to name fkey constraints --- .../44dccb7b8b82_update_username_to_l.py | 81 +++++++++---------- .../versions/5920b225d05d_load_up_to_date.py | 36 ++++++--- 2 files changed, 64 insertions(+), 53 deletions(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 3c5417ef..9857d698 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -15,47 +15,46 @@ def upgrade(): - pass - # connection = op.get_bind() - # current_context = op.get_context() - # meta = current_context.opts['target_metadata'] - # users = sa.Table('users', meta, autoload=True) - # bmarks = sa.Table('bmarks', meta, autoload=True) - # - # try: - # op.drop_index("bmarks_username_fkey", "bmarks") - # op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") - # print 'dropped constraint' - # except sa.exc.OperationalError: - # # If it's not supported then pass - # pass - # - # sel = sa.select([users]) - # for user in connection.execute(sel): - # print 'updating for user: ' + user['username'] - # lowered = sa.func.lower(user['username']) - # - # stmt = users.update().\ - # where(users.c.username == user['username']).\ - # values(username=lowered) - # connection.execute(stmt) - # - # stmt = bmarks.update().\ - # where(bmarks.c.username == user['username']).\ - # values(username=lowered) - # connection.execute(stmt) - # print 'done user: ' + user['username'] - # - # try: - # op.create_foreign_key( - # "bmarks_username_fkey", "bmarks", - # "users", ["username"], ["username"]) - # - # print 'added constraint' - # except sa.exc.OperationalError: - # # If it's not supported then pass - # pass - # + connection = op.get_bind() + current_context = op.get_context() + meta = current_context.opts['target_metadata'] + users = sa.Table('users', meta, autoload=True) + bmarks = sa.Table('bmarks', meta, autoload=True) + + try: + op.drop_index("bmarks_username_fkey", "bmarks") + op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") + print 'dropped constraint' + except sa.exc.OperationalError: + # If it's not supported then pass + pass + + sel = sa.select([users]) + for user in connection.execute(sel): + print 'updating for user: ' + user['username'] + lowered = sa.func.lower(user['username']) + + stmt = users.update().\ + where(users.c.username == user['username']).\ + values(username=lowered) + connection.execute(stmt) + + stmt = bmarks.update().\ + where(bmarks.c.username == user['username']).\ + values(username=lowered) + connection.execute(stmt) + print 'done user: ' + user['username'] + + try: + op.create_foreign_key( + "bmarks_username_fkey", "bmarks", + "users", ["username"], ["username"]) + + print 'added constraint' + except sa.exc.OperationalError: + # If it's not supported then pass + pass + def downgrade(): pass diff --git a/dbversions/versions/5920b225d05d_load_up_to_date.py b/dbversions/versions/5920b225d05d_load_up_to_date.py index 3baf30d8..e60133bf 100644 --- a/dbversions/versions/5920b225d05d_load_up_to_date.py +++ b/dbversions/versions/5920b225d05d_load_up_to_date.py @@ -16,7 +16,8 @@ def upgrade(): ### commands auto generated by Alembic - please adjust! ### - op.create_table('users', + op.create_table( + 'users', sa.Column('id', sa.Integer(), nullable=False), sa.Column('username', sa.Unicode(length=255), nullable=True), sa.Column('name', sa.Unicode(length=255), nullable=True), @@ -36,21 +37,24 @@ def upgrade(): sa.UniqueConstraint('username') ) - op.create_table('tags', + op.create_table( + 'tags', sa.Column('tid', sa.Integer(), nullable=False), sa.Column('name', sa.Unicode(length=255), nullable=True), sa.PrimaryKeyConstraint('tid'), sa.UniqueConstraint('name') ) - op.create_table('url_hash', + op.create_table( + 'url_hash', sa.Column('hash_id', sa.Unicode(length=22), nullable=False), sa.Column('url', sa.UnicodeText(), nullable=True), sa.Column('clicks', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('hash_id') ) - op.create_table('bmarks', + op.create_table( + 'bmarks', sa.Column('bid', sa.Integer(), nullable=False), sa.Column('hash_id', sa.Unicode(length=22), nullable=True), sa.Column('description', sa.UnicodeText(), nullable=True), @@ -61,13 +65,16 @@ def upgrade(): sa.Column('inserted_by', sa.Unicode(length=255), nullable=True), sa.Column('username', sa.Unicode(length=255), nullable=False), sa.Column('tag_str', sa.UnicodeText(), nullable=True), - sa.ForeignKeyConstraint(['hash_id'], ['url_hash.hash_id'], ), - sa.ForeignKeyConstraint(['username'], ['users.username'], ), + sa.ForeignKeyConstraint( + ['hash_id'], ['url_hash.hash_id'], name="bmarks_hash_id_fkey"), + sa.ForeignKeyConstraint( + ['username'], ['users.username'], name="bmarks_username_fkey"), sa.UniqueConstraint('username', 'hash_id'), sa.PrimaryKeyConstraint('bid'), ) - op.create_table(u'activations', + op.create_table( + u'activations', sa.Column('id', sa.Integer(), nullable=False), sa.Column('code', sa.Unicode(length=60), nullable=True), sa.Column('valid_until', sa.DateTime(), nullable=True), @@ -76,7 +83,8 @@ def upgrade(): sa.PrimaryKeyConstraint('id') ) - op.create_table('bmark_tags', + op.create_table( + 'bmark_tags', sa.Column('bmark_id', sa.Integer(), nullable=False), sa.Column('tag_id', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['bmark_id'], ['bmarks.bid'], ), @@ -84,7 +92,8 @@ def upgrade(): sa.PrimaryKeyConstraint('bmark_id', 'tag_id') ) - op.create_table('logging', + op.create_table( + 'logging', sa.Column('id', sa.Integer(), nullable=False), sa.Column('user', sa.Unicode(255), nullable=False), sa.Column('component', sa.Unicode(50), nullable=False), @@ -95,7 +104,8 @@ def upgrade(): sa.PrimaryKeyConstraint('id'), ) - op.create_table('import_queue', + op.create_table( + 'import_queue', sa.Column('id', sa.Integer(), nullable=False), sa.Column('username', sa.Unicode(255)), sa.Column('file_path', sa.Unicode(100), nullable=False), @@ -105,7 +115,8 @@ def upgrade(): sa.PrimaryKeyConstraint('id'), ) - op.create_table('stats_bookmarks', + op.create_table( + 'stats_bookmarks', sa.Column('id', sa.Integer(), nullable=False), sa.Column('tstamp', sa.DateTime), sa.Column('attrib', sa.Unicode(100), nullable=False), @@ -113,7 +124,8 @@ def upgrade(): sa.PrimaryKeyConstraint('id'), ) - op.create_table('bmark_readable', + op.create_table( + 'bmark_readable', sa.Column('bid', sa.Integer(), nullable=False, index=True), sa.Column('hash_id', sa.Unicode(length=22), nullable=True), sa.Column('content', sa.UnicodeText(), nullable=True), From c43fadccccfb7b37a8978263934d4947182e56f4 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Thu, 5 Jun 2014 09:02:38 -0400 Subject: [PATCH 11/15] Catch the NotImplementedError as well with updated SA/Alembic --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 9857d698..8962d5b6 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -25,7 +25,7 @@ def upgrade(): op.drop_index("bmarks_username_fkey", "bmarks") op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") print 'dropped constraint' - except sa.exc.OperationalError: + except (sa.exc.OperationalError, NotImplementedError): # If it's not supported then pass pass @@ -51,7 +51,7 @@ def upgrade(): "users", ["username"], ["username"]) print 'added constraint' - except sa.exc.OperationalError: + except (sa.exc.OperationalError, NotImplementedError): # If it's not supported then pass pass From df7ea21a490ae452d48de7f1216058ed8e0e0249 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Thu, 5 Jun 2014 09:23:26 -0400 Subject: [PATCH 12/15] Specify constraint type on drop index --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index 8962d5b6..a7ff2c48 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -22,8 +22,8 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_index("bmarks_username_fkey", "bmarks") - op.drop_constraint("bmarks_username_fkey", "bmarks", type="foreignkey") + op.drop_index("bmarks_username_fkey", "bmarks", "unique") + op.drop_constraint("bmarks_username_fkey", "bmarks", "foreignkey") print 'dropped constraint' except (sa.exc.OperationalError, NotImplementedError): # If it's not supported then pass From 2e7dac9c93966a00c3ecca17c968a0b2c4978593 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Sat, 14 Jun 2014 13:15:26 -0400 Subject: [PATCH 13/15] Fix create_index --- .../versions/44dccb7b8b82_update_username_to_l.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index a7ff2c48..b02758b3 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -1,10 +1,10 @@ -"""update username to lowercase +'''update username to lowercase Revision ID: 44dccb7b8b82 Revises: 9f274a38d84 Create Date: 2014-02-27 00:55:59.913206 -""" +''' # revision identifiers, used by Alembic. revision = '44dccb7b8b82' @@ -22,8 +22,8 @@ def upgrade(): bmarks = sa.Table('bmarks', meta, autoload=True) try: - op.drop_index("bmarks_username_fkey", "bmarks", "unique") - op.drop_constraint("bmarks_username_fkey", "bmarks", "foreignkey") + op.drop_index('bmarks_username_fkey', 'bmarks', 'unique') + op.drop_constraint('bmarks_username_fkey', 'bmarks', 'foreignkey') print 'dropped constraint' except (sa.exc.OperationalError, NotImplementedError): # If it's not supported then pass @@ -46,9 +46,11 @@ def upgrade(): print 'done user: ' + user['username'] try: + op.create_index( + 'bmarks_username_fkey', 'bmarks', ['username'], 'unique') op.create_foreign_key( - "bmarks_username_fkey", "bmarks", - "users", ["username"], ["username"]) + 'bmarks_username_fkey', 'bmarks', + 'users', ['username'], ['username']) print 'added constraint' except (sa.exc.OperationalError, NotImplementedError): From eb2f66d46893d98c46495a98469afbff5551fcbe Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Sat, 14 Jun 2014 13:18:32 -0400 Subject: [PATCH 14/15] Update test runner command for mysql --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 74abc6e1..f2e03475 100644 --- a/Makefile +++ b/Makefile @@ -205,7 +205,7 @@ mysql_test: bin/py.test mysql -u jenkins_bookie --password=bookie -e "DROP DATABASE jenkins_bookie;" mysql -u jenkins_bookie --password=bookie -e "CREATE DATABASE jenkins_bookie;" bin/alembic -c test_alembic_mysql.ini upgrade head - BOOKIE_TEST_INI=test_mysql.ini $(NOSE) -xv --with-coverage --cover-package=bookie --cover-erase --with-xunit bookie/tests + BOOKIE_TEST_INI=test_mysql.ini INI="test_mysql.ini" NLTK_DATA=$(NLTK_DATA) $(PYTEST) -s bookie/tests .PHONY: pgsql_test pgsql_test: bin/py.test From a868ab7a1502fe76004711f0db20f5ff076e2c67 Mon Sep 17 00:00:00 2001 From: Richard Harding Date: Sat, 14 Jun 2014 13:24:16 -0400 Subject: [PATCH 15/15] Fix the unique constrant --- dbversions/versions/44dccb7b8b82_update_username_to_l.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dbversions/versions/44dccb7b8b82_update_username_to_l.py b/dbversions/versions/44dccb7b8b82_update_username_to_l.py index b02758b3..02d4f435 100644 --- a/dbversions/versions/44dccb7b8b82_update_username_to_l.py +++ b/dbversions/versions/44dccb7b8b82_update_username_to_l.py @@ -47,7 +47,10 @@ def upgrade(): try: op.create_index( - 'bmarks_username_fkey', 'bmarks', ['username'], 'unique') + 'bmarks_username_fkey', + 'bmarks', + ['username', 'hash_id'], + 'unique') op.create_foreign_key( 'bmarks_username_fkey', 'bmarks', 'users', ['username'], ['username'])