From 6317cb60e03762596ecae034518b4da4c60a8f64 Mon Sep 17 00:00:00 2001 From: Fire Demon Date: Thu, 20 Aug 2020 06:26:19 -0500 Subject: [Federation, Feature] Add support for pull federation, account synchronization, and server-to-server migration --- db/migrate/20200818040629_add_last_synced_at_to_accounts.rb | 5 +++++ db/migrate/20200818160057_create_collection_items.rb | 12 ++++++++++++ db/migrate/20200818160106_create_collection_pages.rb | 13 +++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 db/migrate/20200818040629_add_last_synced_at_to_accounts.rb create mode 100644 db/migrate/20200818160057_create_collection_items.rb create mode 100644 db/migrate/20200818160106_create_collection_pages.rb (limited to 'db/migrate') diff --git a/db/migrate/20200818040629_add_last_synced_at_to_accounts.rb b/db/migrate/20200818040629_add_last_synced_at_to_accounts.rb new file mode 100644 index 000000000..0d64b5109 --- /dev/null +++ b/db/migrate/20200818040629_add_last_synced_at_to_accounts.rb @@ -0,0 +1,5 @@ +class AddLastSyncedAtToAccounts < ActiveRecord::Migration[5.2] + def change + add_column :accounts, :last_synced_at, :datetime + end +end diff --git a/db/migrate/20200818160057_create_collection_items.rb b/db/migrate/20200818160057_create_collection_items.rb new file mode 100644 index 000000000..88796ce0e --- /dev/null +++ b/db/migrate/20200818160057_create_collection_items.rb @@ -0,0 +1,12 @@ +class CreateCollectionItems < ActiveRecord::Migration[5.2] + def change + create_table :collection_items do |t| + t.references :account, index: true, foreign_key: { on_delete: :cascade } + t.string :uri, null: false, index: { unique: true } + t.boolean :processed, null: false, default: false + end + + add_index :collection_items, :id, name: 'unprocessed_collection_item_ids', where: 'processed = FALSE', order: { id: :desc } + add_index :collection_items, :account_id, name: 'unprocessed_collection_item_account_ids', where: 'processed = FALSE' + end +end diff --git a/db/migrate/20200818160106_create_collection_pages.rb b/db/migrate/20200818160106_create_collection_pages.rb new file mode 100644 index 000000000..d00e1ca1c --- /dev/null +++ b/db/migrate/20200818160106_create_collection_pages.rb @@ -0,0 +1,13 @@ +class CreateCollectionPages < ActiveRecord::Migration[5.2] + def change + create_table :collection_pages do |t| + t.references :account, index: true, foreign_key: { on_delete: :cascade } + t.string :uri, null: false, index: { unique: true } + t.string :next + end + + add_index :collection_pages, :id, name: 'unprocessed_collection_page_ids', where: 'next IS NULL' + add_index :collection_pages, :account_id, name: 'unprocessed_collection_page_account_ids', where: 'next IS NULL' + add_index :collection_pages, :uri, name: 'unprocessed_collection_pages_uris', where: 'next IS NULL' + end +end -- cgit