diff --git a/.github/workflows/migrations-test.yml b/.github/workflows/migrations-test.yml index 1c547f4cfd4..f57879f55da 100644 --- a/.github/workflows/migrations-test.yml +++ b/.github/workflows/migrations-test.yml @@ -2,7 +2,7 @@ name: Run rails migrations on: push: branches: - - "main" + - 'main' pull_request: types: [opened, synchronize, reopened] jobs: @@ -13,14 +13,14 @@ jobs: postgres: image: postgres:14-alpine ports: - - "5432:5432" + - '5432:5432' env: POSTGRES_DB: lago POSTGRES_USER: lago POSTGRES_PASSWORD: lago env: RAILS_ENV: test - DATABASE_URL: "postgres://lago:lago@localhost:5432/lago" + DATABASE_URL: 'postgres://lago:lago@localhost:5432/lago' RAILS_MASTER_KEY: ${{ secrets.RAILS_TEST_KEY }} SECRET_KEY_BASE: ${{ secrets.SECRET_KEY_BASE }} ENCRYPTION_PRIMARY_KEY: 5I9mjfzry2P787x4S5ZuDdJwXNgYEwqo @@ -34,16 +34,17 @@ jobs: LAGO_CLICKHOUSE_MIGRATIONS_ENABLED: true LAGO_CLICKHOUSE_HOST: localhost LAGO_CLICKHOUSE_DATABASE: default - LAGO_CLICKHOUSE_USERNAME: "" - LAGO_CLICKHOUSE_PASSWORD: "" + LAGO_CLICKHOUSE_USERNAME: '' + LAGO_CLICKHOUSE_PASSWORD: '' LAGO_DISABLE_SCHEMA_DUMP: true + ANNOTATE_SKIP_ON_DB_MIGRATE: 1 steps: - name: Checkout code uses: actions/checkout@v4 - name: Install Ruby and gems uses: ruby/setup-ruby@v1 with: - ruby-version: "3.3.4" + ruby-version: '3.3.4' bundler-cache: true - name: Start Clickhouse database run: | @@ -59,5 +60,7 @@ jobs: run: LAGO_DISABLE_SCHEMA_DUMP="" bin/rails db:schema:dump:primary - name: Ensure no changes to schema.rb run: diff db/schema.rb db/schema-before-dump.rb + - name: Ensure annotations are up to date + run: bundle exec annotate --frozen - name: Perform Clickhouse database migrations run: bin/rails db:migrate:clickhouse diff --git a/app/models/customer.rb b/app/models/customer.rb index 5a062b09264..b841f7241e6 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -182,7 +182,7 @@ def ensure_slug # deleted_at :datetime # document_locale :string # email :string -# finalize_zero_amount_invoice :integer default(0), not null +# finalize_zero_amount_invoice :integer default("inherit"), not null # invoice_grace_period :integer # legal_name :string # legal_number :string diff --git a/app/models/organization.rb b/app/models/organization.rb index 969a5496299..54b8acf5026 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -158,7 +158,7 @@ def validate_email_settings # email :string # email_settings :string default([]), not null, is an Array # eu_tax_management :boolean default(FALSE) -# finalize_zero_amount_invoice :boolean default(FALSE), not null +# finalize_zero_amount_invoice :boolean default(TRUE), not null # invoice_footer :text # invoice_grace_period :integer default(0), not null # legal_name :string diff --git a/lib/tasks/auto_annotate_models.rake b/lib/tasks/auto_annotate_models.rake index 650b6663e02..66e89ac81ce 100644 --- a/lib/tasks/auto_annotate_models.rake +++ b/lib/tasks/auto_annotate_models.rake @@ -3,7 +3,7 @@ # NOTE: only doing this in development as some production environments (Heroku) # NOTE: are sensitive to local FS writes, and besides -- it's just not proper # NOTE: to have a dev-mode tool do its thing in production. -if Rails.env.development? +if Rails.env.development? || Rails.env.test? require 'annotate' task set_annotation_options: :environment do # You can override any of these by setting an environment variable of the