From 98c4d7ebde03b004e3d48fe862c4e86af7e368fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= Date: Thu, 5 Sep 2019 16:23:13 +0200 Subject: [PATCH] Concept of master/slave DB configs --- .gitlab-ci.yml | 8 +-- acoustid-test.conf | 6 +- acoustid.conf.dist | 25 +++++-- acoustid/config.py | 28 ++++---- acoustid/db.py | 6 +- acoustid/script.py | 2 +- acoustid/tables.py | 4 +- admin/ci/create_db.sql | 8 +-- alembic.ini | 2 +- alembic/env.py | 4 +- alembic/versions/3b48d5f44110_fixes.py | 8 +-- .../4581a68fa644_submission_result.py | 10 +-- alembic/versions/57c4d22c87b8_initial.py | 66 +++++++++---------- ...5763ef_remove_submission_id_constraints.py | 8 +-- .../versions/d52d50968cf7_move_submissions.py | 14 ++-- .../versions/d5c0520500a6_account_is_admin.py | 10 +-- scripts/run_psql.py | 2 +- tests/conftest.py | 2 +- 18 files changed, 118 insertions(+), 95 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 12709a9..21fd01c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,10 +27,10 @@ test: POSTGRES_PASSWORD: acoustid POSTGRES_DB: acoustid_test ACOUSTID_TEST_DB_TWO_PHASE_COMMIT: 0 - ACOUSTID_TEST_DB_DEFAULT_HOST: postgres - ACOUSTID_TEST_DB_DEFAULT_NAME: acoustid_test - ACOUSTID_TEST_DB_SLOW_HOST: postgres - ACOUSTID_TEST_DB_SLOW_NAME: acoustid_test + ACOUSTID_TEST_DB_MAIN_HOST: postgres + ACOUSTID_TEST_DB_MAIN_NAME: acoustid_test + ACOUSTID_TEST_DB_IMPORT_HOST: postgres + ACOUSTID_TEST_DB_IMPORT_NAME: acoustid_test ACOUSTID_TEST_REDIS_HOST: redis ACOUSTID_TEST_INDEX_HOST: acoustid-index cache: diff --git a/acoustid-test.conf b/acoustid-test.conf index 3c11cd2..598e59d 100644 --- a/acoustid-test.conf +++ b/acoustid-test.conf @@ -1,18 +1,18 @@ [database] two_phase_commit=yes -[database:default] +[database:main] host=127.0.0.1 port=5432 user=acoustid name=acoustid_test password=acoustid -[database:slow] +[database:import] host=127.0.0.1 port=5432 user=acoustid -name=acoustid_slow_test +name=acoustid_import_test password=acoustid [logging] diff --git a/acoustid.conf.dist b/acoustid.conf.dist index 2bb3d7e..ecffd4c 100644 --- a/acoustid.conf.dist +++ b/acoustid.conf.dist @@ -1,14 +1,31 @@ -[database] +[databases] +two_phase_commit=false + +[database:main] +user=acoustid +password=acoustid name=acoustid +host=localhost +port=5432 + +[database:import] user=acoustid -password=XXX +password=acoustid +name=acoustid_import host=localhost port=5432 -[database_slow] +[database:main_master] +user=acoustid +password=acoustid name=acoustid +host=localhost +port=5432 + +[database:import_master] user=acoustid -password=XXX +password=acoustid +name=acoustid_import host=localhost port=5432 diff --git a/acoustid/config.py b/acoustid/config.py index aefd4e1..c882bee 100644 --- a/acoustid/config.py +++ b/acoustid/config.py @@ -44,30 +44,36 @@ class BaseConfig(object): class DatabasesConfig(BaseConfig): def __init__(self): - self.databases = { - 'default': DatabaseConfig(), - 'slow': DatabaseConfig(), - } + self.modes = {'local', 'replica'} + self.names = {'main', 'import'} + self.databases = {} + for mode in self.modes: + self.databases[mode] = {} + for name in self.name: + self.databases[mode][name] = DatabaseConfig() self.use_two_phase_commit = False def create_engines(self, **kwargs): + mode = kwargs.pop('mode', 'local') engines = {} - for name, db_config in self.databases.items(): + for name, db_config in self.databases[mode].items(): engines[name] = db_config.create_engine(**kwargs) return engines def read_section(self, parser, section): if parser.has_option(section, 'two_phase_commit'): self.use_two_phase_commit = parser.getboolean(section, 'two_phase_commit') - for name, sub_config in self.databases.items(): - sub_section = '{}:{}'.format(section, name) - sub_config.read_section(parser, sub_section) + for mode, db_configs in self.databases.items(): + for name, sub_config in db_configs.items(): + sub_section = '{}:{}{}'.format(section, name, '_' + mode if mode != 'local' else '') + sub_config.read_section(parser, sub_section) def read_env(self, prefix): read_env_item(self, 'use_two_phase_commit', prefix + 'TWO_PHASE_COMMIT', convert=str_to_bool) - for name, sub_config in self.databases.items(): - sub_prefix = prefix + name.upper() + '_' - sub_config.read_env(sub_prefix) + for mode, db_configs in self.databases.items(): + for name, sub_config in db_configs.items(): + sub_prefix = prefix + name.upper() + '_' + (mode.upper() + '_' if mode != 'local' else '') + sub_config.read_env(sub_prefix) class DatabaseConfig(BaseConfig): diff --git a/acoustid/db.py b/acoustid/db.py index 6d43da0..57677be 100644 --- a/acoustid/db.py +++ b/acoustid/db.py @@ -8,10 +8,10 @@ Session = sessionmaker() def get_bind_args(engines): binds = {} for table in metadata.sorted_tables: - bind_key = table.info.get('bind_key', 'default') - if bind_key != 'default': + bind_key = table.info.get('bind_key', 'main') + if bind_key != 'main': binds[table] = engines[bind_key] - return {'bind': engines['default'], 'binds': binds} + return {'bind': engines['main'], 'binds': binds} def get_session_args(script): diff --git a/acoustid/script.py b/acoustid/script.py index d0272cf..8c4d206 100644 --- a/acoustid/script.py +++ b/acoustid/script.py @@ -60,7 +60,7 @@ class Script(object): @property def engine(self): - return self.db_engines['default'] + return self.db_engines['main'] def setup_logging(self): for logger_name, level in sorted(self.config.logging.levels.items()): diff --git a/acoustid/tables.py b/acoustid/tables.py index d70b1c8..f2d338b 100644 --- a/acoustid/tables.py +++ b/acoustid/tables.py @@ -148,7 +148,7 @@ submission = Table('submission', metadata, Column('disc_no', Integer), Column('year', Integer), - info={'bind_key': 'slow'}, + info={'bind_key': 'import'}, ) submission_result = Table('submission_result', metadata, @@ -166,7 +166,7 @@ submission_result = Table('submission_result', metadata, Column('puid', UUID), Column('foreignid', String), - info={'bind_key': 'slow'}, + info={'bind_key': 'import'}, ) stats = Table('stats', metadata, diff --git a/admin/ci/create_db.sql b/admin/ci/create_db.sql index f95388d..198e9ee 100644 --- a/admin/ci/create_db.sql +++ b/admin/ci/create_db.sql @@ -1,8 +1,8 @@ CREATE DATABASE "acoustid"; CREATE DATABASE "acoustid_test"; -CREATE DATABASE "acoustid_slow"; -CREATE DATABASE "acoustid_slow_test"; +CREATE DATABASE "acoustid_import"; +CREATE DATABASE "acoustid_import_test"; \c acoustid create extension intarray; @@ -16,13 +16,13 @@ create extension pgcrypto; create extension acoustid; create extension cube; -\c acoustid_slow +\c acoustid_import create extension intarray; create extension pgcrypto; create extension acoustid; create extension cube; -\c acoustid_slow_test +\c acoustid_import_test create extension intarray; create extension pgcrypto; create extension acoustid; diff --git a/alembic.ini b/alembic.ini index 2a13ffa..5ba410f 100644 --- a/alembic.ini +++ b/alembic.ini @@ -29,7 +29,7 @@ script_location = alembic # are written from script.py.mako # output_encoding = utf-8 -databases = default, slow +databases = main, import # Logging configuration [loggers] diff --git a/alembic/env.py b/alembic/env.py index 60b3d64..d9b5b29 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -27,13 +27,13 @@ def include_object(db_name): if obj_type == "table": if obj.schema == "musicbrainz": return False - bind_key = obj.info.get('bind_key', 'default') + bind_key = obj.info.get('bind_key', 'main') if bind_key != db_name: return False if obj_type == "column": if obj.table.schema == "musicbrainz": return False - bind_key = obj.table.info.get('bind_key', 'default') + bind_key = obj.table.info.get('bind_key', 'main') if bind_key != db_name: return False return True diff --git a/alembic/versions/3b48d5f44110_fixes.py b/alembic/versions/3b48d5f44110_fixes.py index a1a46b0..fa50532 100644 --- a/alembic/versions/3b48d5f44110_fixes.py +++ b/alembic/versions/3b48d5f44110_fixes.py @@ -24,7 +24,7 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): op.create_foreign_key(op.f('account_google_fk_account_id'), 'account_google', 'account', ['account_id'], ['id']) op.create_foreign_key(op.f('application_fk_account_id'), 'application', 'account', ['account_id'], ['id']) op.create_foreign_key(op.f('stats_lookups_fk_application_id'), 'stats_lookups', 'application', ['application_id'], ['id']) @@ -54,7 +54,7 @@ def upgrade_default(): op.alter_column('recording_acoustid', 'created', nullable=False) -def downgrade_default(): +def downgrade_main(): op.alter_column('recording_acoustid', 'created', nullable=True) op.alter_column('track_foreignid_source', 'created', nullable=True) op.alter_column('track_foreignid', 'created', nullable=True) @@ -84,9 +84,9 @@ def downgrade_default(): op.drop_constraint(op.f('account_google_fk_account_id'), 'account_google', type_='foreignkey') -def upgrade_slow(): +def upgrade_import(): pass -def downgrade_slow(): +def downgrade_import(): pass diff --git a/alembic/versions/4581a68fa644_submission_result.py b/alembic/versions/4581a68fa644_submission_result.py index 0d6d999..a83d10e 100644 --- a/alembic/versions/4581a68fa644_submission_result.py +++ b/alembic/versions/4581a68fa644_submission_result.py @@ -24,18 +24,18 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): pass -def downgrade_default(): +def downgrade_main(): pass -def upgrade_slow(): +def upgrade_import(): op.create_table('submission_result', sa.Column('submission_id', sa.Integer(), autoincrement=False, nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text('CURRENT_TIMESTAMP'), nullable=False), sa.Column('account_id', sa.Integer(), nullable=False), sa.Column('application_id', sa.Integer(), nullable=False), sa.Column('application_version', sa.String(), nullable=True), @@ -49,5 +49,5 @@ def upgrade_slow(): ) -def downgrade_slow(): +def downgrade_import(): op.drop_table('submission_result') diff --git a/alembic/versions/57c4d22c87b8_initial.py b/alembic/versions/57c4d22c87b8_initial.py index 1f11044..ccf9f6d 100644 --- a/alembic/versions/57c4d22c87b8_initial.py +++ b/alembic/versions/57c4d22c87b8_initial.py @@ -25,7 +25,7 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): op.create_table('account_google', sa.Column('google_user_id', sa.String(), nullable=False), sa.Column('account_id', sa.Integer(), nullable=False), @@ -49,8 +49,8 @@ def upgrade_default(): sa.Column('name', sa.String(), nullable=False), sa.Column('version', sa.String(), nullable=False), sa.Column('apikey', sa.String(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), - sa.Column('active', sa.Boolean(), server_default=sa.text(u'true'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('active', sa.Boolean(), server_main=sa.text(u'true'), nullable=True), sa.Column('account_id', sa.Integer(), nullable=False), sa.Column('email', sa.String(), nullable=True), sa.Column('website', sa.String(), nullable=True), @@ -85,7 +85,7 @@ def upgrade_default(): ) op.create_table('mirror_queue', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('txid', sa.BigInteger(), server_default=sa.text(u'txid_current()'), nullable=False), + sa.Column('txid', sa.BigInteger(), server_main=sa.text(u'txid_current()'), nullable=False), sa.Column('tblname', sa.String(), nullable=False), sa.Column('op', sa.CHAR(length=1), nullable=False), sa.Column('data', sa.Text(), nullable=False), @@ -95,8 +95,8 @@ def upgrade_default(): sa.Column('id', sa.Integer(), autoincrement=False, nullable=False), sa.Column('acoustid', postgresql.UUID(), nullable=False), sa.Column('recording', postgresql.UUID(), nullable=False), - sa.Column('disabled', sa.Boolean(), server_default=sa.text(u'false'), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('disabled', sa.Boolean(), server_main=sa.text(u'false'), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('updated', sa.DateTime(timezone=True), nullable=True), sa.PrimaryKeyConstraint('id') ) @@ -112,7 +112,7 @@ def upgrade_default(): op.create_table('stats', sa.Column('id', sa.Integer(), nullable=False), sa.Column('name', sa.String(), nullable=False), - sa.Column('date', sa.Date(), server_default=sa.text(u'CURRENT_DATE'), nullable=False), + sa.Column('date', sa.Date(), server_main=sa.text(u'CURRENT_DATE'), nullable=False), sa.Column('value', sa.Integer(), nullable=False), sa.PrimaryKeyConstraint('id') ) @@ -123,8 +123,8 @@ def upgrade_default(): sa.Column('date', sa.Date(), nullable=False), sa.Column('hour', sa.Integer(), nullable=False), sa.Column('application_id', sa.Integer(), nullable=False), - sa.Column('count_nohits', sa.Integer(), server_default=sa.text(u'0'), nullable=False), - sa.Column('count_hits', sa.Integer(), server_default=sa.text(u'0'), nullable=False), + sa.Column('count_nohits', sa.Integer(), server_main=sa.text(u'0'), nullable=False), + sa.Column('count_hits', sa.Integer(), server_main=sa.text(u'0'), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_index('stats_lookups_idx_date', 'stats_lookups', ['date'], unique=False) @@ -134,13 +134,13 @@ def upgrade_default(): sa.Column('application_id', sa.Integer(), nullable=False), sa.Column('user_agent', sa.String(), nullable=False), sa.Column('ip', sa.String(), nullable=False), - sa.Column('count', sa.Integer(), server_default=sa.text(u'0'), nullable=False), + sa.Column('count', sa.Integer(), server_main=sa.text(u'0'), nullable=False), sa.PrimaryKeyConstraint('id') ) op.create_index('stats_user_agents_idx_date', 'stats_user_agents', ['date'], unique=False) op.create_table('track', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('new_id', sa.Integer(), nullable=True), sa.Column('gid', postgresql.UUID(), nullable=False), sa.ForeignKeyConstraint(['new_id'], ['track.id'], name=op.f('track_fk_new_id')), @@ -152,10 +152,10 @@ def upgrade_default(): sa.Column('name', sa.String(), nullable=False), sa.Column('apikey', sa.String(), nullable=False), sa.Column('mbuser', sa.String(), nullable=True), - sa.Column('anonymous', sa.Boolean(), server_default=sa.text(u'false'), nullable=True), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('anonymous', sa.Boolean(), server_main=sa.text(u'false'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('lastlogin', sa.DateTime(timezone=True), nullable=True), - sa.Column('submission_count', sa.Integer(), server_default=sa.text(u'0'), nullable=False), + sa.Column('submission_count', sa.Integer(), server_main=sa.text(u'0'), nullable=False), sa.Column('application_id', sa.Integer(), nullable=True), sa.Column('application_version', sa.String(), nullable=True), sa.Column('created_from', postgresql.INET(), nullable=True), @@ -170,7 +170,7 @@ def upgrade_default(): sa.Column('length', sa.SmallInteger(), nullable=False), sa.Column('bitrate', sa.SmallInteger(), nullable=True), sa.Column('format_id', sa.Integer(), nullable=True), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=False), sa.Column('track_id', sa.Integer(), nullable=False), sa.Column('submission_count', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['format_id'], ['format.id'], name=op.f('fingerprint_fk_format_id')), @@ -193,10 +193,10 @@ def upgrade_default(): op.create_table('track_mbid', sa.Column('track_id', sa.Integer(), nullable=False), sa.Column('mbid', postgresql.UUID(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('submission_count', sa.Integer(), nullable=False), - sa.Column('disabled', sa.Boolean(), server_default=sa.text(u'false'), nullable=False), + sa.Column('disabled', sa.Boolean(), server_main=sa.text(u'false'), nullable=False), sa.ForeignKeyConstraint(['track_id'], ['track.id'], name=op.f('track_mbid_fk_track_id')), sa.PrimaryKeyConstraint('id') ) @@ -206,7 +206,7 @@ def upgrade_default(): sa.Column('id', sa.Integer(), nullable=False), sa.Column('track_id', sa.Integer(), nullable=False), sa.Column('meta_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('submission_count', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['meta_id'], ['meta.id'], name=op.f('track_meta_fk_meta_id')), sa.ForeignKeyConstraint(['track_id'], ['track.id'], name=op.f('track_meta_fk_track_id')), @@ -217,7 +217,7 @@ def upgrade_default(): op.create_table('track_puid', sa.Column('track_id', sa.Integer(), nullable=False), sa.Column('puid', postgresql.UUID(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('id', sa.Integer(), nullable=False), sa.Column('submission_count', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['track_id'], ['track.id'], name=op.f('track_puid_fk_track_id')), @@ -253,7 +253,7 @@ def upgrade_default(): sa.Column('id', sa.Integer(), nullable=False), sa.Column('track_id', sa.Integer(), nullable=False), sa.Column('foreignid_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('submission_count', sa.Integer(), nullable=False), sa.ForeignKeyConstraint(['foreignid_id'], ['foreignid.id'], name=op.f('track_foreignid_fk_foreignid_id')), sa.ForeignKeyConstraint(['track_id'], ['track.id'], name=op.f('track_foreignid_fk_track_id')), @@ -265,7 +265,7 @@ def upgrade_default(): sa.Column('id', sa.Integer(), nullable=False), sa.Column('track_mbid_id', sa.Integer(), nullable=False), sa.Column('account_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.Column('disabled', sa.Boolean(), nullable=False), sa.Column('note', sa.Text(), nullable=True), sa.ForeignKeyConstraint(['account_id'], ['account.id'], name=op.f('track_mbid_change_fk_account_id')), @@ -277,8 +277,8 @@ def upgrade_default(): sa.Column('id', sa.Integer(), nullable=False), sa.Column('track_mbid_id', sa.Integer(), nullable=False), sa.Column('account_id', sa.Integer(), nullable=False), - sa.Column('handled', sa.Boolean(), server_default=sa.text(u'false'), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('handled', sa.Boolean(), server_main=sa.text(u'false'), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['account_id'], ['account.id'], name=op.f('track_mbid_flag_fk_account_id')), sa.ForeignKeyConstraint(['track_mbid_id'], ['track_mbid.id'], name=op.f('track_mbid_flag_fk_track_mbid_id')), sa.PrimaryKeyConstraint('id') @@ -289,10 +289,10 @@ def upgrade_default(): sa.Column('length', sa.SmallInteger(), nullable=False), sa.Column('bitrate', sa.SmallInteger(), nullable=True), sa.Column('format_id', sa.Integer(), nullable=True), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=False), sa.Column('source_id', sa.Integer(), nullable=False), sa.Column('mbid', postgresql.UUID(), nullable=True), - sa.Column('handled', sa.Boolean(), server_default=sa.text(u'false'), nullable=True), + sa.Column('handled', sa.Boolean(), server_main=sa.text(u'false'), nullable=True), sa.Column('puid', postgresql.UUID(), nullable=True), sa.Column('meta_id', sa.Integer(), nullable=True), sa.Column('foreignid_id', sa.Integer(), nullable=True), @@ -310,7 +310,7 @@ def upgrade_default(): sa.Column('fingerprint_id', sa.Integer(), nullable=False), sa.Column('submission_id', sa.Integer(), nullable=False), sa.Column('source_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['fingerprint_id'], ['fingerprint.id'], name=op.f('fingerprint_source_fk_fingerprint_id')), sa.ForeignKeyConstraint(['source_id'], ['source.id'], name=op.f('fingerprint_source_fk_source_id')), sa.ForeignKeyConstraint(['submission_id'], ['submission.id'], name=op.f('fingerprint_source_fk_submission_id')), @@ -322,7 +322,7 @@ def upgrade_default(): sa.Column('track_foreignid_id', sa.Integer(), nullable=False), sa.Column('submission_id', sa.Integer(), nullable=False), sa.Column('source_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['source_id'], ['source.id'], name=op.f('track_foreignid_source_fk_source_id')), sa.ForeignKeyConstraint(['submission_id'], ['submission.id'], name=op.f('track_foreignid_source_fk_submission_id')), sa.ForeignKeyConstraint(['track_foreignid_id'], ['track_foreignid.id'], name=op.f('track_foreignid_source_fk_track_foreignid_id')), @@ -333,7 +333,7 @@ def upgrade_default(): sa.Column('track_mbid_id', sa.Integer(), nullable=False), sa.Column('submission_id', sa.Integer(), nullable=True), sa.Column('source_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['source_id'], ['source.id'], name=op.f('track_mbid_source_fk_source_id')), sa.ForeignKeyConstraint(['submission_id'], ['submission.id'], name=op.f('track_mbid_source_fk_submission_id')), sa.ForeignKeyConstraint(['track_mbid_id'], ['track_mbid.id'], name=op.f('track_mbid_source_fk_track_mbid_id')), @@ -346,7 +346,7 @@ def upgrade_default(): sa.Column('track_meta_id', sa.Integer(), nullable=False), sa.Column('submission_id', sa.Integer(), nullable=False), sa.Column('source_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['source_id'], ['source.id'], name=op.f('track_meta_source_fk_source_id')), sa.ForeignKeyConstraint(['submission_id'], ['submission.id'], name=op.f('track_meta_source_fk_submission_id')), sa.ForeignKeyConstraint(['track_meta_id'], ['track_meta.id'], name=op.f('track_meta_source_fk_track_meta_id')), @@ -357,7 +357,7 @@ def upgrade_default(): sa.Column('track_puid_id', sa.Integer(), nullable=False), sa.Column('submission_id', sa.Integer(), nullable=False), sa.Column('source_id', sa.Integer(), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text(u'CURRENT_TIMESTAMP'), nullable=True), sa.ForeignKeyConstraint(['source_id'], ['source.id'], name=op.f('track_puid_source_fk_source_id')), sa.ForeignKeyConstraint(['submission_id'], ['submission.id'], name=op.f('track_puid_source_fk_submission_id')), sa.ForeignKeyConstraint(['track_puid_id'], ['track_puid.id'], name=op.f('track_puid_source_fk_track_puid_id')), @@ -365,7 +365,7 @@ def upgrade_default(): ) -def downgrade_default(): +def downgrade_main(): op.drop_table('track_puid_source') op.drop_table('track_meta_source') op.drop_index(op.f('track_mbid_source_idx_track_mbid_id'), table_name='track_mbid_source') @@ -433,9 +433,9 @@ def downgrade_default(): op.drop_table('account_google') -def upgrade_slow(): +def upgrade_import(): pass -def downgrade_slow(): +def downgrade_import(): pass diff --git a/alembic/versions/ae7e1e5763ef_remove_submission_id_constraints.py b/alembic/versions/ae7e1e5763ef_remove_submission_id_constraints.py index 7abfe32..96b814a 100644 --- a/alembic/versions/ae7e1e5763ef_remove_submission_id_constraints.py +++ b/alembic/versions/ae7e1e5763ef_remove_submission_id_constraints.py @@ -24,7 +24,7 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): op.drop_constraint(u'fingerprint_source_fk_submission_id', 'fingerprint_source', type_='foreignkey') op.drop_constraint(u'track_foreignid_source_fk_submission_id', 'track_foreignid_source', type_='foreignkey') op.drop_constraint(u'track_mbid_source_fk_submission_id', 'track_mbid_source', type_='foreignkey') @@ -32,7 +32,7 @@ def upgrade_default(): op.drop_constraint(u'track_puid_source_fk_submission_id', 'track_puid_source', type_='foreignkey') -def downgrade_default(): +def downgrade_main(): op.create_foreign_key(u'track_puid_source_fk_submission_id', 'track_puid_source', 'submission', ['submission_id'], ['id']) op.create_foreign_key(u'track_meta_source_fk_submission_id', 'track_meta_source', 'submission', ['submission_id'], ['id']) op.create_foreign_key(u'track_mbid_source_fk_submission_id', 'track_mbid_source', 'submission', ['submission_id'], ['id']) @@ -40,9 +40,9 @@ def downgrade_default(): op.create_foreign_key(u'fingerprint_source_fk_submission_id', 'fingerprint_source', 'submission', ['submission_id'], ['id']) -def upgrade_slow(): +def upgrade_import(): pass -def downgrade_slow(): +def downgrade_import(): pass diff --git a/alembic/versions/d52d50968cf7_move_submissions.py b/alembic/versions/d52d50968cf7_move_submissions.py index 3590583..3228f86 100644 --- a/alembic/versions/d52d50968cf7_move_submissions.py +++ b/alembic/versions/d52d50968cf7_move_submissions.py @@ -28,20 +28,20 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): op.rename_table('submission', 'submission_old') -def downgrade_default(): +def downgrade_main(): op.rename_table('submission_old', 'submission') -def upgrade_slow(): +def upgrade_import(): op.execute(CreateSequence(Sequence('submission_id_seq'))) op.create_table('submission', - sa.Column('id', sa.Integer(), server_default=sa.text("nextval('submission_id_seq')"), nullable=False), - sa.Column('created', sa.DateTime(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False), - sa.Column('handled', sa.Boolean(), server_default=sa.text('false'), nullable=True), + sa.Column('id', sa.Integer(), server_main=sa.text("nextval('submission_id_seq')"), nullable=False), + sa.Column('created', sa.DateTime(timezone=True), server_main=sa.text('CURRENT_TIMESTAMP'), nullable=False), + sa.Column('handled', sa.Boolean(), server_main=sa.text('false'), nullable=True), sa.Column('account_id', sa.Integer(), nullable=False), sa.Column('application_id', sa.Integer(), nullable=False), sa.Column('application_version', sa.String(), nullable=True), @@ -84,6 +84,6 @@ def upgrade_slow(): range_from = range_to -def downgrade_slow(): +def downgrade_import(): op.drop_table('submission') op.execute(DropSequence(Sequence('submission_id_seq'))) diff --git a/alembic/versions/d5c0520500a6_account_is_admin.py b/alembic/versions/d5c0520500a6_account_is_admin.py index 06df9ef..26aa0de 100644 --- a/alembic/versions/d5c0520500a6_account_is_admin.py +++ b/alembic/versions/d5c0520500a6_account_is_admin.py @@ -24,19 +24,19 @@ def downgrade(engine_name): globals()["downgrade_%s" % engine_name]() -def upgrade_default(): +def upgrade_main(): op.add_column('account', - sa.Column('is_admin', sa.Boolean(), server_default=sa.text('false'), nullable=False) + sa.Column('is_admin', sa.Boolean(), server_main=sa.text('false'), nullable=False) ) -def downgrade_default(): +def downgrade_main(): op.drop_column('account', 'is_admin') -def upgrade_slow(): +def upgrade_import(): pass -def downgrade_slow(): +def downgrade_import(): pass diff --git a/scripts/run_psql.py b/scripts/run_psql.py index 6d764dd..3924863 100755 --- a/scripts/run_psql.py +++ b/scripts/run_psql.py @@ -8,7 +8,7 @@ import os def main(script, opts, args): - os.execlp('psql', 'psql', *(script.config.databases.databases['default'].create_psql_args() + args)) + os.execlp('psql', 'psql', *(script.config.databases.databases['main'].create_psql_args() + args)) run_script(main) diff --git a/tests/conftest.py b/tests/conftest.py index 1d6593e..8055df5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -12,7 +12,7 @@ RECREATE_DB = True def get_tables_for_bind(metadata, bind_key): tables = [] for table in metadata.sorted_tables: - if table.info.get('bind_key', 'default') == bind_key: + if table.info.get('bind_key', 'main') == bind_key: tables.append(table) return tables -- 2.22.0