Packages

Add recurring billing to your Phoenix application

Current section

Files

Jump to
bling_paddle stubs subscriptions_migration.exs.stub
Raw

stubs/subscriptions_migration.exs.stub

defmodule <%= @module_name %>.Repo.Migrations.CreateSubscriptions do
use Ecto.Migration
def change do
create table(:subscriptions) do
add :customer_id, :bigserial, null: false
add :customer_type, :string, null: false
add :name, :string, null: false
add :paddle_id, :integer, null: false
add :paddle_status, :string, null: false
add :paddle_plan, :integer, null: false
add :quantity, :integer, null: false
add :trial_ends_at, :utc_datetime, null: true
add :paused_from, :utc_datetime, null: true
add :ends_at, :utc_datetime, null: true
timestamps(type: :utc_datetime)
end
create unique_index(:subscriptions, :paddle_id)
create table(:receipts) do
add :customer_id, :bigserial, null: false
add :customer_type, :string, null: false
add :paddle_subscription_id, :bigserial, null: false
add :checkout_id, :string, null: false
add :order_id, :string, null: false
add :amount, :string, null: false
add :tax, :string, null: false
add :currency, :string, null: false
add :quantity, :integer, null: false
add :receipt_url, :string, null: false
add :paid_at, :utc_datetime, null: false
timestamps(type: :utc_datetime)
end
create index(:receipts, :paddle_subscription_id)
create unique_index(:receipts, :order_id)
create unique_index(:receipts, :receipt_url)
end
end