mirror of
https://github.com/plausible/analytics.git
synced 2024-12-26 11:02:52 +03:00
34 lines
1.1 KiB
Elixir
34 lines
1.1 KiB
Elixir
|
defmodule Plausible.IngestRepo.Migrations.CreateV2Schemas do
|
||
|
@moduledoc """
|
||
|
Normally, for live environments the migration will be done via
|
||
|
`DataMigration.NumericIDs` module (TBD). In which case PASS_V2_SCHEMA_MIGRATION
|
||
|
environment variable needs to be set, to only make the standard migrate
|
||
|
command write an entry into schema_migrations.
|
||
|
|
||
|
For tests, and entirely new small, self-hosted instances however,
|
||
|
we want to keep the ability of preparing the database without enforcing
|
||
|
any data migration.
|
||
|
"""
|
||
|
|
||
|
use Ecto.Migration
|
||
|
|
||
|
use Plausible.DataMigration, dir: "NumericIDs"
|
||
|
|
||
|
@cluster? false
|
||
|
@settings "SETTINGS index_granularity = 8192"
|
||
|
|
||
|
def up do
|
||
|
if System.get_env("PASS_V2_SCHEMA_MIGRATION") do
|
||
|
:ok
|
||
|
else
|
||
|
execute unwrap("create-events-v2", table_settings: @settings, cluster?: @cluster?)
|
||
|
execute unwrap("create-sessions-v2", table_settings: @settings, cluster?: @cluster?)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def down do
|
||
|
execute unwrap("drop-events-v2", cluster?: @cluster?)
|
||
|
execute unwrap("drop-sessions-v2", cluster?: @cluster?)
|
||
|
end
|
||
|
end
|