diff --git a/MANIFEST.in b/MANIFEST.in index 854c928..ffe1ce6 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1 +1 @@ -include requirements.txt LICENSE.txt +include requirements.txt LICENSE.txt sql/**/* diff --git a/chainsyncer/db/migrations/sqlalchemy.py b/chainsyncer/db/migrations/sqlalchemy.py new file mode 100644 index 0000000..d9cbeac --- /dev/null +++ b/chainsyncer/db/migrations/sqlalchemy.py @@ -0,0 +1,36 @@ +from alembic import op +import sqlalchemy as sa + +def chainsyncer_upgrade(major, minor, patch): + r0_0_1_u() + +def chainsyncer_downgrade(major, minor, patch): + r0_0_1_d() + +def r0_0_1_u(): + op.create_table( + 'chain_sync', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('blockchain', sa.String, nullable=False, unique=True), + sa.Column('block_start', sa.Integer, nullable=False, default=0), + sa.Column('tx_start', sa.Integer, nullable=False, default=0), + sa.Column('block_cursor', sa.Integer, nullable=False, default=0), + sa.Column('tx_cursor', sa.Integer, nullable=False, default=0), + sa.Column('block_target', sa.Integer, nullable=True), + sa.Column('date_created', sa.DateTime, nullable=False), + sa.Column('date_updated', sa.DateTime), + ) + + op.create_table( + 'chain_sync_filter', + sa.Column('id', sa.Integer, primary_key=True), + sa.Column('chain_sync_id', sa.Integer, sa.ForeignKey('chain_sync.id'), nullable=True), + sa.Column('flags', sa.BLOB, nullable=True), + sa.Column('flags_start', sa.BLOB, nullable=True), + sa.Column('count', sa.Integer, nullable=False, default=0), + sa.Column('digest', sa.BLOB, nullable=False), + ) + +def r0_0_1_d(): + op.drop_table('chain_sync_filter') + op.drop_table('chain_sync') diff --git a/setup.cfg b/setup.cfg index 334fae5..258ade6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,13 +21,19 @@ licence_files = LICENSE.txt [options] +include_package_data = True python_requires = >= 3.6 packages = chainsyncer chainsyncer.db + chainsyncer.db.migrations chainsyncer.db.models chainsyncer.runnable +[options.package_data] +* = + sql/* + #[options.entry_points] #console_scripts = # blocksync-celery = chainsyncer.runnable.tracker:main