summaryrefslogtreecommitdiff
path: root/db/migrate
AgeCommit message (Collapse)Author
2 hoursAdd head/draft/autosave hierarchy to Nodeerdgeist
Introduces autosave_id as a third, unversioned layer above draft/head, with lock_for_editing!, autosave!, and save_draft! as the new entry points. Also fixes a real bug in wipe_draft!: its "no draft" branch unconditionally released the lock, which was safe when "no draft" only ever meant "nothing is happening" — no longer true now that a lock can exist with only an autosave beneath it. lock_for_editing! deliberately does not call wipe_draft! at all, for the same reason: an intruder calling it while a lock was genuinely held would otherwise silently steal it via wipe_draft!'s own unlock side effect, caught by the new two-user lock test.
3 daysAdd preview_token to pageserdgeist
New column + unique index, plus ensure_preview_token!/revoke_preview_token! on Page. Generated lazily (only when explicitly requested) rather than via has_secure_token's default auto-generate-on-create, so a live, shareable secret isn't silently minted for every page ever created.
3 daysDrop dead custom_rrule column from eventserdgeist
Forms were already cleaned up in an earlier commit; the column itself was the last remnant. Dropping the column surfaced a live reference in events#index (fixed separately, 970f108) - this migration file itself just never got staged until now.
3 daysAdd FK with ON DELETE CASCADE on occurrences.event_iderdgeist
Was the last remaining gap in the occurrence-orphaning fix from earlier this session: dependent: :destroy on Event#occurrences covers deletion through ActiveRecord, this covers anything that bypasses it (raw SQL, Model.delete). Confirmed zero existing orphans and zero NULL event_ids before adding the constraint (event_id stays nullable - an occurrence without an event is valid, one with a bogus event_id is not). Also adds the index that should have existed on this column already - Postgres needs one for the cascade to be anything other than a full table scan per delete, and none existed before this. deferrable: :immediate added so legitimate application code can still defer the check within a transaction if ever needed - unrelated to, and not a fix for, the fixture-loading issue below. Applying this constraint broke fixture loading entirely (config fix: 81a07bf) and exposed a live bug in events#index (fix: 970f108), both already committed separately - this migration file itself just never got staged until now.
3 daysAdd migration for the default template name featureerdgeist
7 daysRewrite chapter seeds: multi-event support, drop is_primary, fix dataerdgeist
- seed_chapter now accepts events: array instead of flat rrule:/ start_time: params; each event hash supports rrule:, start_time:, tag_list:, location:, duration_hours: - Chapters with multiple open days now represented correctly (Stralsund: Thursday Chaostreff + 2nd/4th Saturday OpenSpace; Hamburg: 2nd Friday + last Tuesday; Stuttgart: 1st Tuesday + 3rd Wednesday; Freiburg: Mon+Tue open + biweekly Plenum; Backnang: 3rd Sunday + 1st Tuesday; Tübingen: last Sunday + 2nd Monday at different venues) - is_primary removed from migration entirely — replaced by tag_list: 'open-day' on events - Stale EN descriptions corrected: Berlin, Darmstadt, Erlangen, Essen, Freiburg, Göttingen, Hamburg, Hannover, Karlsruhe, Paderborn, Stuttgart, Ulm - chaostreff-stralsund duplicate entry removed (Port39 is erfa only)
8 daysPhase 1: standalone events, external_url on nodeserdgeist
- Migration: node_id nullable on events and occurrences, add title/description/is_primary to events, external_url to nodes - Existing events marked is_primary: true (were all 1:1 with nodes) - Node: has_one :event -> has_many :events - Event: belongs_to :node optional, validates title presence for standalone events, is_primary uniqueness scoped to node_id, display_title helper falling back through node title - Occurrence: belongs_to :node optional, summary falls back to event.display_title - nodes_helper: event_information uses events.first (interim; will be replaced in Phase 3 event UI) - Tests: fix node.event -> node.events.first in event_test
12 daysFix unversioned migrationserdgeist
12 daysFix I18n::InvalidLocale :root errorserdgeist
- Fix Page.find(self.head) → self.head in node.rb wipe_draft! - Migration to delete 407 spurious 'root' locale records from page_translations (Globalize artefact, all had nil titles and duplicate de/en translations existed for all affected pages)
12 daysEnable full-text search via PostgreSQL tsvector on page_translationserdgeist
- Restore search vector migration (was parked in doc/ pending PostgreSQL upgrade) - Restore Node.search using plainto_tsquery with simple dictionary - Cross-locale keyword search, no stemming, works for both de and en content
13 daysUpgrade to Rails 5.2.8.1 on Ruby 2.5.8erdgeist
- Bump rails 4.2.11.3 → 5.2.8.1, ruby 2.4.10 → 2.5.8 - Upgrade acts-as-taggable-on ~> 3.5 → ~> 6.0 - Upgrade exception_notification ~> 4.4 → ~> 4.5 - Upgrade globalize ~> 5.0 → ~> 5.2.0 - Upgrade pg ~> 0.17 → ~> 1.0 - Upgrade sass-rails ~> 4.0 → ~> 5.0 - Upgrade libxml-ruby to ~> 3.2 (5.x requires Ruby 3.2+) - Pin awesome_nested_set ~> 3.4.0 (3.9 has lft/rgt update bug) - Add rails-controller-testing gem - Add assets initializer for jquery precompile - Add acts_as_taggable missing indexes migration - Set eager_load, serve_static_files, active_record settings
2026-06-24Upgrade acts-as-taggable-on to 3.5, add Rails 3.2 config fixeserdgeist
- Bump acts-as-taggable-on from 2.4.1 to 3.5.0 - Fake engine migrations for pre-existing schema - Set serve_static_assets in development - Fix request.fullpath in authenticated_system (request_uri removed in Rails 3.x) - Fix Paperclip path format to match existing file layout
2026-06-24Stage 1 complete: Rails 2.3.5 to Rails 3.2.22.5 upgradeerdgeist
- Converted plugins to gems (Gemfile) - Updated config structure (application.rb, boot.rb, environment.rb) - Converted routes to Rails 3 DSL - Converted named_scope to scope throughout models - Converted find(:all, :conditions) to where() chains - Fixed has_many :order to use ordering scope - Updated session store and secret token configuration - Fixed exception_notification middleware configuration - Patched Ruby 2.4 / Rails 3.2 incompatibilities: - Integer/Float duration arithmetic (ActiveSupport) - Arel visit_Integer for PostgreSQL adapter - create_database String/Integer coercion - ActionController consider_all_requests_local - Migrated taggings schema for acts-as-taggable-on - Replaced dynamic_form gem with custom form_error_messages helper - Fixed Rails 3 block helper syntax (form_for, form_tag, fields_for) - Fixed admin layout yield - Updated test suite for Rails 3 APIs
2009-11-11missing editor_id migrationhukl
2009-10-21fixed migration - globalize2 add index itselfhukl
2009-10-07add admin flag to users tablehukl
2009-09-09added editing of slugs and moving of nodes. to edit a slug or move a node you edit that node, make your changes and save. the slug and parent node changes ↵hukl
get staged and are applied once that revision is published
2009-09-07enabling featured articleshukl
2009-09-01added migration to add indices on several heavy duty columns. totally unrelated but huge performance win ;)hukl
2009-09-01added related_assets to pageshukl
2009-08-16consolidated migrationhukl
2009-08-16migration to add missing columns and indexes for acts_as_taggable_redux as well as other related modificationshukl
2009-08-09added sorting (via drag and drop) and deleting of menu items. Its not perfect though and needs more styling. I'm unsure about the proper route for the sort ↵hukl
action. Will investigate.
2009-08-08added dynamic main menuhukl
2009-04-25Integrated basic Asset upload functionality. You can upload files now and use their url in pages.hukl
2009-04-07adding fullname to usershukl
2009-03-21put the lock onto nodeshukl
2009-03-18add missing location column to events. removed summary column from summary - we try joins instead. we can always fallback if it turns out to be a stupid ↵hukl
idea. added proper migrations
2009-03-18Refactored Chaos Calendar by wrapping libical and introducing event and occurrence model. More improvements to come. Enables us to create events with ↵hukl
reoccurrence and intervals etc.
2009-03-10remove event resource temporarily until its finalizedhukl
2009-03-10forgot the event migratioberdgeist
2009-03-03introducing page templates - need to add edit capabilitieshukl
renamed the custom template folder forgot one fix for the new custom template path page templates refined renamed page attribute template to template_name as i suspected it to be a reserved word. it still didn't work until i discovered that simon defined the accessible attributes! That costed me 40 minutes of lifetime. But he apologized ;) tests for public and custom page templates
2009-03-01refactored drafts which are now identified by a draft_id on the node rather than by guessing it. i was really that close to make that mistake again.hukl
2009-02-19got the whole globalize system wrong. everythinghukl
is in a translation table now. therefor merging the two separate migrations into on meaningful
2009-02-15* removed the auditing observer, we'll do it the old fashioned waysimon
* added permission model * locked down attributes on page model
2009-02-15remove obsolete migrationhukl
2009-02-15* added eclipse project file to .gitignoresimon
* added user model
2009-02-08added basic user model and user_id on page modelhukl
to introduce the concept of authors.
2009-02-07added globalize2 plugin as well as some modificationshukl
which use the new translation facilities. backend mostly.
2009-02-07added head id to node model which points to thehukl
head of the nodes pages collection. modified tests, importer etc renamed flags to tags
2009-02-02refactored the whole tagging thing. now usinghukl
acts_as_taggable_on_steroids instead of a homebrew solution
2009-02-02add acts_as_taggable_on_steroids to replaces hukl
custom flagging facilities
2009-02-02aggregation spike with flags associated to pageshukl
Page has now a named_scope :with_flags which accepts an array of flag names and returns corresponding pages. Can be chained with order and limit
2009-01-31add published_at to pageshukl
2009-01-31Added Page model scaffoldhukl
2009-01-29added node model to make basic functional tests pass. added awesome_nested_set pluginhukl