improvement: remove sqlite

This commit is contained in:
Zach Daniel 2024-01-12 12:43:25 -05:00
parent 87546cc7ca
commit 86c96c31a9
57 changed files with 1837 additions and 215 deletions

View file

@ -4,7 +4,6 @@
:phoenix, :phoenix,
:ash, :ash,
:ash_postgres, :ash_postgres,
:ash_sqlite,
:ash_graphql, :ash_graphql,
:surface, :surface,
:ash_admin, :ash_admin,

View file

@ -18,7 +18,6 @@ RUN apt-get install -y esl-erlang
RUN apt-get install -y apt-transport-https RUN apt-get install -y apt-transport-https
RUN apt-get install -y ca-certificates RUN apt-get install -y ca-certificates
RUN apt-get install -y fuse3 libfuse3-dev libglib2.0-dev RUN apt-get install -y fuse3 libfuse3-dev libglib2.0-dev
RUN apt-get install -y sqlite3
COPY --from=flyio/litefs:0.5 /usr/local/bin/litefs /usr/local/bin/litefs COPY --from=flyio/litefs:0.5 /usr/local/bin/litefs /usr/local/bin/litefs
ENV NODE_MAJOR=16 ENV NODE_MAJOR=16
RUN mkdir -p /etc/apt/keyrings RUN mkdir -p /etc/apt/keyrings

View file

@ -8,7 +8,7 @@
import Config import Config
config :ash_hq, config :ash_hq,
ecto_repos: [AshHq.Repo, AshHq.SqliteRepo] ecto_repos: [AshHq.Repo]
config :ash, allow_flow: true config :ash, allow_flow: true

View file

@ -22,12 +22,6 @@ config :git_ops,
manage_readme_version: "README.md", manage_readme_version: "README.md",
version_tag_prefix: "v" version_tag_prefix: "v"
config :ash_hq, AshHq.SqliteRepo,
database: Path.join(__DIR__, "../ash-hq.db"),
port: 5432,
show_sensitive_data_on_connection_error: true,
pool_size: 10
config :ash_hq, :show_search_ranking, true config :ash_hq, :show_search_ranking, true
secret_key_base = "FxKFwVYhDFah3bLLXXqWdpdcLf5e5T1UyVM6XQp7kCt/Reg5yuAEI3upAVDRoP5e" secret_key_base = "FxKFwVYhDFah3bLLXXqWdpdcLf5e5T1UyVM6XQp7kCt/Reg5yuAEI3upAVDRoP5e"

View file

@ -21,7 +21,7 @@ config :ash_hq, :analytics?, true
config :ash_hq, :download_ua_on_start, true config :ash_hq, :download_ua_on_start, true
if config_env() == :prod do if config_env() == :prod do
config :ash_hq, AshHq.SqliteRepo, config :ash_hq, AshHq.Repo,
database: "/litefs/db", database: "/litefs/db",
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10") pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10")
end end

View file

@ -26,7 +26,7 @@ config :ash_hq, AshHqWeb.Endpoint,
secret_key_base: secret_key_base, secret_key_base: secret_key_base,
server: false server: false
config :ash_hq, AshHq.SqliteRepo, config :ash_hq, AshHq.Repo,
database: Path.join(__DIR__, "../ash-hq#{System.get_env("MIX_TEST_PARTITION")}.db"), database: Path.join(__DIR__, "../ash-hq#{System.get_env("MIX_TEST_PARTITION")}.db"),
pool_size: 10 pool_size: 10

View file

@ -9,10 +9,6 @@ processes = []
[env] [env]
RELEASE_COOKIE = "VsipafjUVIYVpiYiljPg6DNZB8XiSnEf4zLi8WOf9bAU0XK7HuHQqA==" RELEASE_COOKIE = "VsipafjUVIYVpiYiljPg6DNZB8XiSnEf4zLi8WOf9bAU0XK7HuHQqA=="
[mounts]
source = "litefs"
destination = "/var/lib/litefs"
[[services]] [[services]]
internal_port = 4000 internal_port = 4000
protocol = "tcp" protocol = "tcp"

View file

@ -22,7 +22,6 @@ defmodule AshHq.Application do
AshHq.Vault, AshHq.Vault,
# Start the Ecto repository # Start the Ecto repository
AshHq.Repo, AshHq.Repo,
AshHq.SqliteRepo,
# Start the Telemetry supervisor # Start the Telemetry supervisor
AshHqWeb.Telemetry, AshHqWeb.Telemetry,
# Start the PubSub system # Start the PubSub system

View file

@ -2,12 +2,12 @@ defmodule AshHq.Docs.Dsl do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "dsls" table "dsls"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete
@ -17,24 +17,6 @@ defmodule AshHq.Docs.Dsl do
migration_defaults optional_args: "[]" migration_defaults optional_args: "[]"
end end
search do
doc_attribute :doc
load_for_search [
:extension_module,
:library_name
]
weight_content(0.2)
sanitized_name_attribute :sanitized_path
use_path_for_name? true
end
render_markdown do
render_attributes doc: :doc_html
end
actions do actions do
defaults [:update, :destroy] defaults [:update, :destroy]
@ -65,6 +47,24 @@ defmodule AshHq.Docs.Dsl do
end end
end end
search do
doc_attribute :doc
load_for_search [
:extension_module,
:library_name
]
weight_content(0.2)
sanitized_name_attribute :sanitized_path
use_path_for_name? true
end
render_markdown do
render_attributes doc: :doc_html
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -2,11 +2,11 @@ defmodule AshHq.Docs.Extension do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer data_layer: AshPostgres.DataLayer
sqlite do postgres do
table "extensions" table "extensions"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete

View file

@ -2,18 +2,39 @@ defmodule AshHq.Docs.Function do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "functions" table "functions"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete
end end
end end
actions do
defaults [:update, :destroy]
read :read do
primary? true
pagination offset?: true,
keyset?: true,
countable: true,
default_limit: 25,
required?: false
end
create :create do
primary? true
argument :library_version, :uuid
change manage_relationship(:library_version, type: :append_and_remove)
end
end
search do search do
doc_attribute :doc doc_attribute :doc
@ -35,27 +56,6 @@ defmodule AshHq.Docs.Function do
header_ids? false header_ids? false
end end
actions do
defaults [:update, :destroy]
read :read do
primary? true
pagination offset?: true,
keyset?: true,
countable: true,
default_limit: 25,
required?: false
end
create :create do
primary? true
argument :library_version, :uuid
change manage_relationship(:library_version, type: :append_and_remove)
end
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -1,7 +1,7 @@
defmodule AshHq.Docs.Guide do defmodule AshHq.Docs.Guide do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [ extensions: [
AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.Search,
AshHq.Docs.Extensions.RenderMarkdown, AshHq.Docs.Extensions.RenderMarkdown,
@ -9,8 +9,8 @@ defmodule AshHq.Docs.Guide do
AshAdmin.Resource AshAdmin.Resource
] ]
sqlite do postgres do
repo AshHq.SqliteRepo repo AshHq.Repo
table "guides" table "guides"
references do references do
@ -18,6 +18,31 @@ defmodule AshHq.Docs.Guide do
end end
end end
actions do
defaults [:create, :update, :destroy]
read :read do
primary? true
pagination keyset?: true,
offset?: true,
countable: true,
default_limit: 25,
required?: false
end
read :read_for_version do
argument :library_versions, {:array, :uuid} do
allow_nil? false
constraints max_length: 20, min_length: 1
end
pagination offset?: true, countable: true, default_limit: 25, required?: false
filter expr(library_version.id in ^arg(:library_versions))
end
end
search do search do
doc_attribute :text doc_attribute :text
show_docs_on [:sanitized_name, :sanitized_route] show_docs_on [:sanitized_name, :sanitized_route]
@ -46,31 +71,6 @@ defmodule AshHq.Docs.Guide do
end end
end end
actions do
defaults [:create, :update, :destroy]
read :read do
primary? true
pagination keyset?: true,
offset?: true,
countable: true,
default_limit: 25,
required?: false
end
read :read_for_version do
argument :library_versions, {:array, :uuid} do
allow_nil? false
constraints max_length: 20, min_length: 1
end
pagination offset?: true, countable: true, default_limit: 25, required?: false
filter expr(library_version.id in ^arg(:library_versions))
end
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -75,7 +75,7 @@ defmodule AshHq.Docs.Library.Actions.Import do
Ash.Query.for_read(AshHq.Docs.LibraryVersion, :read) Ash.Query.for_read(AshHq.Docs.LibraryVersion, :read)
|> Ash.Query.filter(library_id == ^library.id and version == ^version) |> Ash.Query.filter(library_id == ^library.id and version == ^version)
) do ) do
AshHq.SqliteRepo.transaction( AshHq.Repo.transaction(
fn -> fn ->
library_version = library_version =
AshHq.Docs.LibraryVersion.build!( AshHq.Docs.LibraryVersion.build!(
@ -107,7 +107,7 @@ defmodule AshHq.Docs.Library.Actions.Import do
|> Ash.Query.data_layer_query() |> Ash.Query.data_layer_query()
|> case do |> case do
{:ok, query} -> {:ok, query} ->
AshHq.SqliteRepo.delete_all(query) AshHq.Repo.delete_all(query)
other -> other ->
raise "bad match #{inspect(other)}" raise "bad match #{inspect(other)}"

View file

@ -1,12 +1,12 @@
defmodule AshHq.Docs.Library do defmodule AshHq.Docs.Library do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshOban] extensions: [AshOban]
sqlite do postgres do
table "libraries" table "libraries"
repo AshHq.SqliteRepo repo AshHq.Repo
migration_defaults module_prefixes: "[]", skip_versions: "[]" migration_defaults module_prefixes: "[]", skip_versions: "[]"
end end

View file

@ -2,17 +2,12 @@ defmodule AshHq.Docs.LibraryVersion do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "library_versions" table "library_versions"
repo AshHq.SqliteRepo repo AshHq.Repo
end
search do
name_attribute :version
load_for_search [:library_name, :library_display_name]
end end
actions do actions do
@ -91,6 +86,11 @@ defmodule AshHq.Docs.LibraryVersion do
end end
end end
search do
name_attribute :version
load_for_search [:library_name, :library_display_name]
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -2,36 +2,18 @@ defmodule AshHq.Docs.MixTask do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "mix_tasks" table "mix_tasks"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete
end end
end end
search do
doc_attribute :doc
load_for_search [
:version_name,
:library_name,
:library_id
]
item_type "Mix Task"
type "Mix Tasks"
end
render_markdown do
render_attributes doc: :doc_html
end
actions do actions do
defaults [:update, :destroy] defaults [:update, :destroy]
@ -53,6 +35,24 @@ defmodule AshHq.Docs.MixTask do
end end
end end
search do
doc_attribute :doc
load_for_search [
:version_name,
:library_name,
:library_id
]
item_type "Mix Task"
type "Mix Tasks"
end
render_markdown do
render_attributes doc: :doc_html
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -2,36 +2,18 @@ defmodule AshHq.Docs.Module do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "modules" table "modules"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete
end end
end end
search do
doc_attribute :doc
weight_content(0.5)
load_for_search [
:version_name,
:library_name,
:library_id
]
type "Code"
end
render_markdown do
render_attributes doc: :doc_html
end
actions do actions do
defaults [:update, :destroy] defaults [:update, :destroy]
@ -56,6 +38,24 @@ defmodule AshHq.Docs.Module do
end end
end end
search do
doc_attribute :doc
weight_content(0.5)
load_for_search [
:version_name,
:library_name,
:library_id
]
type "Code"
end
render_markdown do
render_attributes doc: :doc_html
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -2,12 +2,12 @@ defmodule AshHq.Docs.Option do
@moduledoc false @moduledoc false
use Ash.Resource, use Ash.Resource,
data_layer: AshSqlite.DataLayer, data_layer: AshPostgres.DataLayer,
extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown] extensions: [AshHq.Docs.Extensions.Search, AshHq.Docs.Extensions.RenderMarkdown]
sqlite do postgres do
table "options" table "options"
repo AshHq.SqliteRepo repo AshHq.Repo
references do references do
reference :library_version, on_delete: :delete reference :library_version, on_delete: :delete
@ -15,24 +15,6 @@ defmodule AshHq.Docs.Option do
end end
end end
search do
doc_attribute :doc
load_for_search [
:extension_module,
:library_name
]
sanitized_name_attribute :sanitized_path
use_path_for_name? true
add_name_to_path? false
show_docs_on :dsl_sanitized_path
end
render_markdown do
render_attributes doc: :doc_html
end
actions do actions do
defaults [:update, :destroy] defaults [:update, :destroy]
@ -59,6 +41,24 @@ defmodule AshHq.Docs.Option do
end end
end end
search do
doc_attribute :doc
load_for_search [
:extension_module,
:library_name
]
sanitized_name_attribute :sanitized_path
use_path_for_name? true
add_name_to_path? false
show_docs_on :dsl_sanitized_path
end
render_markdown do
render_attributes doc: :doc_html
end
attributes do attributes do
uuid_primary_key :id uuid_primary_key :id

View file

@ -6,7 +6,6 @@ defmodule AshHq.Release do
@app :ash_hq @app :ash_hq
def migrate do def migrate do
load_app() load_app()
System.cmd("sqlite3", ["litefs/db", "VACUUM;"])
for repo <- repos() do for repo <- repos() do
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true)) {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))

View file

@ -1,5 +0,0 @@
defmodule AshHq.SqliteRepo do
@moduledoc "Ecto repo for interacting with Sqlite"
use AshSqlite.Repo,
otp_app: :ash_hq
end

View file

@ -186,6 +186,10 @@ defmodule AshHqWeb.AppViewLive do
{:noreply, assign(socket, :page_title, "Ash Framework - #{title}")} {:noreply, assign(socket, :page_title, "Ash Framework - #{title}")}
end end
def handle_info(_, socket) do
{:noreply, socket}
end
def handle_event("change-types", %{"types" => types}, socket) do def handle_event("change-types", %{"types" => types}, socket) do
types = types =
types types

View file

@ -41,7 +41,6 @@ defmodule AshHq.MixProject do
[ [
{:ash, github: "ash-project/ash", override: true}, {:ash, github: "ash-project/ash", override: true},
{:ash_postgres, github: "ash-project/ash_postgres"}, {:ash_postgres, github: "ash-project/ash_postgres"},
{:ash_sqlite, github: "ash-project/ash_sqlite"},
{:ash_admin, github: "ash-project/ash_admin"}, {:ash_admin, github: "ash-project/ash_admin"},
{:ash_phoenix, github: "ash-project/ash_phoenix", override: true}, {:ash_phoenix, github: "ash-project/ash_phoenix", override: true},
{:ash_graphql, github: "ash-project/ash_graphql"}, {:ash_graphql, github: "ash-project/ash_graphql"},
@ -141,13 +140,11 @@ defmodule AshHq.MixProject do
setup: [ setup: [
"ash_postgres.create", "ash_postgres.create",
"ash_postgres.migrate", "ash_postgres.migrate",
"ash_sqlite.create",
"ash_sqlite.migrate",
"seed" "seed"
], ],
reset: ["drop", "setup"], reset: ["drop", "setup"],
credo: "credo --strict", credo: "credo --strict",
drop: ["ash_postgres.drop", "ash_sqlite.drop"], drop: ["ash_postgres.drop"],
test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
sobelow: ["sobelow --skip -i Config.Headers,Config.CSRFRoute"], sobelow: ["sobelow --skip -i Config.Headers,Config.CSRFRoute"],
"assets.deploy": [ "assets.deploy": [

View file

@ -16,12 +16,10 @@
"ash_oban": {:git, "https://github.com/ash-project/ash_oban.git", "36a441f78195f4f4e656f6a0cf268084704ff174", []}, "ash_oban": {:git, "https://github.com/ash-project/ash_oban.git", "36a441f78195f4f4e656f6a0cf268084704ff174", []},
"ash_phoenix": {:git, "https://github.com/ash-project/ash_phoenix.git", "35e4d2931e1664383c9a085a90f846e58986c8c8", []}, "ash_phoenix": {:git, "https://github.com/ash-project/ash_phoenix.git", "35e4d2931e1664383c9a085a90f846e58986c8c8", []},
"ash_postgres": {:git, "https://github.com/ash-project/ash_postgres.git", "40c1a13652dc65406692ffbcaf6d78d1d8aa07c4", []}, "ash_postgres": {:git, "https://github.com/ash-project/ash_postgres.git", "40c1a13652dc65406692ffbcaf6d78d1d8aa07c4", []},
"ash_sqlite": {:git, "https://github.com/ash-project/ash_sqlite.git", "75ffda1076a81cf1793fe0a170c1df73021e83c9", []},
"assent": {:hex, :assent, "0.2.7", "aa68f68e577077c091ce722bff8fe1ae56b95b274bb8107f7a5406cc15a65da7", [:mix], [{:certifi, ">= 0.0.0", [hex: :certifi, repo: "hexpm", optional: true]}, {:finch, "~> 0.15", [hex: :finch, repo: "hexpm", optional: true]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:ssl_verify_fun, ">= 0.0.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: true]}], "hexpm", "08106af439de4f9de114c0334de4c848de7cfbe53a5a52d342a784c4f6bc86f3"}, "assent": {:hex, :assent, "0.2.7", "aa68f68e577077c091ce722bff8fe1ae56b95b274bb8107f7a5406cc15a65da7", [:mix], [{:certifi, ">= 0.0.0", [hex: :certifi, repo: "hexpm", optional: true]}, {:finch, "~> 0.15", [hex: :finch, repo: "hexpm", optional: true]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:ssl_verify_fun, ">= 0.0.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: true]}], "hexpm", "08106af439de4f9de114c0334de4c848de7cfbe53a5a52d342a784c4f6bc86f3"},
"bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"}, "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.1.0", "0b110a9a6c619b19a7f73fa3004aa11d6e719a67e672d1633dc36b6b2290a0f7", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2ad2acb5a8bc049e8d5aa267802631912bb80d5f4110a178ae7999e69dca1bf7"},
"bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"}, "bunt": {:hex, :bunt, "0.2.1", "e2d4792f7bc0ced7583ab54922808919518d0e57ee162901a16a1b6664ef3b14", [:mix], [], "hexpm", "a330bfb4245239787b15005e66ae6845c9cd524a288f0d141c148b02603777a5"},
"castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"},
"cc_precompiler": {:hex, :cc_precompiler, "0.1.8", "933a5f4da3b19ee56539a076076ce4d7716d64efc8db46fd066996a7e46e2bfd", [:mix], [{:elixir_make, "~> 0.7.3", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "176bdf4366956e456bf761b54ad70bc4103d0269ca9558fd7cee93d1b3f116db"},
"certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"}, "certifi": {:hex, :certifi, "2.12.0", "2d1cca2ec95f59643862af91f001478c9863c2ac9cb6e2f89780bfd8de987329", [:rebar3], [], "hexpm", "ee68d85df22e554040cdb4be100f33873ac6051387baf6a8f6ce82272340ff1c"},
"chacha20": {:hex, :chacha20, "1.0.4", "0359d8f9a32269271044c1b471d5cf69660c362a7c61a98f73a05ef0b5d9eb9e", [:mix], [], "hexpm", "2027f5d321ae9903f1f0da7f51b0635ad6b8819bc7fe397837930a2011bc2349"}, "chacha20": {:hex, :chacha20, "1.0.4", "0359d8f9a32269271044c1b471d5cf69660c362a7c61a98f73a05ef0b5d9eb9e", [:mix], [], "hexpm", "2027f5d321ae9903f1f0da7f51b0635ad6b8819bc7fe397837930a2011bc2349"},
"cloak": {:hex, :cloak, "1.1.2", "7e0006c2b0b98d976d4f559080fabefd81f0e0a50a3c4b621f85ceeb563e80bb", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "940d5ac4fcd51b252930fd112e319ea5ae6ab540b722f3ca60a85666759b9585"}, "cloak": {:hex, :cloak, "1.1.2", "7e0006c2b0b98d976d4f559080fabefd81f0e0a50a3c4b621f85ceeb563e80bb", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}], "hexpm", "940d5ac4fcd51b252930fd112e319ea5ae6ab540b722f3ca60a85666759b9585"},
@ -45,7 +43,6 @@
"ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"}, "ecto": {:hex, :ecto, "3.10.3", "eb2ae2eecd210b4eb8bece1217b297ad4ff824b4384c0e3fdd28aaf96edd6135", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "44bec74e2364d491d70f7e42cd0d690922659d329f6465e89feb8a34e8cd3433"},
"ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.10", "e14d400930f401ca9f541b3349212634e44027d7f919bbb71224d7ac0d0e8acd", [:mix], [{:ecto_sql, "~> 3.4", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.15.7 or ~> 0.16.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "505e8cd81e4f17c090be0f99e92b1b3f0fd915f98e76965130b8ccfb891e7088"}, "ecto_psql_extras": {:hex, :ecto_psql_extras, "0.7.10", "e14d400930f401ca9f541b3349212634e44027d7f919bbb71224d7ac0d0e8acd", [:mix], [{:ecto_sql, "~> 3.4", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.15.7 or ~> 0.16.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:table_rex, "~> 3.1.1", [hex: :table_rex, repo: "hexpm", optional: false]}], "hexpm", "505e8cd81e4f17c090be0f99e92b1b3f0fd915f98e76965130b8ccfb891e7088"},
"ecto_sql": {:hex, :ecto_sql, "3.10.2", "6b98b46534b5c2f8b8b5f03f126e75e2a73c64f3c071149d32987a5378b0fdbd", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "68c018debca57cb9235e3889affdaec7a10616a4e3a80c99fa1d01fdafaa9007"}, "ecto_sql": {:hex, :ecto_sql, "3.10.2", "6b98b46534b5c2f8b8b5f03f126e75e2a73c64f3c071149d32987a5378b0fdbd", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "68c018debca57cb9235e3889affdaec7a10616a4e3a80c99fa1d01fdafaa9007"},
"ecto_sqlite3": {:hex, :ecto_sqlite3, "0.12.0", "9ee845ac45a76e3c5c0fe65898f3538f5b0969912a95f0beef3d4ae8e63f6a06", [:mix], [{:decimal, "~> 1.6 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.10", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:exqlite, "~> 0.9", [hex: :exqlite, repo: "hexpm", optional: false]}], "hexpm", "4eaf8550df1fd0043bcf039a5dce407fd8afc30a115ced173fe6b9815eeedb55"},
"ed25519": {:hex, :ed25519, "1.4.1", "479fb83c3e31987c9cad780e6aeb8f2015fb5a482618cdf2a825c9aff809afc4", [:mix], [], "hexpm", "0dacb84f3faa3d8148e81019ca35f9d8dcee13232c32c9db5c2fb8ff48c80ec7"}, "ed25519": {:hex, :ed25519, "1.4.1", "479fb83c3e31987c9cad780e6aeb8f2015fb5a482618cdf2a825c9aff809afc4", [:mix], [], "hexpm", "0dacb84f3faa3d8148e81019ca35f9d8dcee13232c32c9db5c2fb8ff48c80ec7"},
"eflame": {:hex, :eflame, "1.0.1", "0664d287e39eef3c413749254b3af5f4f8b00be71c1af67d325331c4890be0fc", [:mix], [], "hexpm", "e0b08854a66f9013129de0b008488f3411ae9b69b902187837f994d7a99cf04e"}, "eflame": {:hex, :eflame, "1.0.1", "0664d287e39eef3c413749254b3af5f4f8b00be71c1af67d325331c4890be0fc", [:mix], [], "hexpm", "e0b08854a66f9013129de0b008488f3411ae9b69b902187837f994d7a99cf04e"},
"elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"}, "elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"},
@ -56,7 +53,6 @@
"ex_check": {:hex, :ex_check, "0.14.0", "d6fbe0bcc51cf38fea276f5bc2af0c9ae0a2bb059f602f8de88709421dae4f0e", [:mix], [], "hexpm", "8a602e98c66e6a4be3a639321f1f545292042f290f91fa942a285888c6868af0"}, "ex_check": {:hex, :ex_check, "0.14.0", "d6fbe0bcc51cf38fea276f5bc2af0c9ae0a2bb059f602f8de88709421dae4f0e", [:mix], [], "hexpm", "8a602e98c66e6a4be3a639321f1f545292042f290f91fa942a285888c6868af0"},
"ex_doc": {:hex, :ex_doc, "0.28.5", "3e52a6d2130ce74d096859e477b97080c156d0926701c13870a4e1f752363279", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d2c4b07133113e9aa3e9ba27efb9088ba900e9e51caa383919676afdf09ab181"}, "ex_doc": {:hex, :ex_doc, "0.28.5", "3e52a6d2130ce74d096859e477b97080c156d0926701c13870a4e1f752363279", [:mix], [{:earmark_parser, "~> 1.4.19", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "d2c4b07133113e9aa3e9ba27efb9088ba900e9e51caa383919676afdf09ab181"},
"excoveralls": {:hex, :excoveralls, "0.14.6", "610e921e25b180a8538229ef547957f7e04bd3d3e9a55c7c5b7d24354abbba70", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "0eceddaa9785cfcefbf3cd37812705f9d8ad34a758e513bb975b081dce4eb11e"}, "excoveralls": {:hex, :excoveralls, "0.14.6", "610e921e25b180a8538229ef547957f7e04bd3d3e9a55c7c5b7d24354abbba70", [:mix], [{:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "0eceddaa9785cfcefbf3cd37812705f9d8ad34a758e513bb975b081dce4eb11e"},
"exqlite": {:hex, :exqlite, "0.15.0", "efa87268ffb648a29d887d6b5641cea6d0c7cdc09b83e92a34377ab5b96913c1", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "bf704989342b99ea5e1621495fb94fc772516206550d3b2465a1de3d89345853"},
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
"finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"},
"flame": {:hex, :flame, "0.1.4", "9eea29aa405eb3114c83a18e32cf6f6833814d5844b751df63c4692364870e4e", [:mix], [{:req, "~> 0.4.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "6a4f267c7868b60350198520ceef2651d07440787c9d597f969b74d78c5d25c7"}, "flame": {:hex, :flame, "0.1.4", "9eea29aa405eb3114c83a18e32cf6f6833814d5844b751df63c4692364870e4e", [:mix], [{:req, "~> 0.4.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "6a4f267c7868b60350198520ceef2651d07440787c9d597f969b74d78c5d25c7"},

View file

@ -0,0 +1,204 @@
defmodule AshHq.Repo.Migrations.MigrateResources60 do
@moduledoc """
Updates resources based on their most recent snapshots.
This file was autogenerated with `mix ash_postgres.generate_migrations`
"""
use Ecto.Migration
def up do
execute("""
ALTER TABLE dsls
DROP COLUMN searchable
""")
execute("""
ALTER TABLE extensions
DROP COLUMN searchable
""")
execute("""
ALTER TABLE functions
DROP COLUMN searchable
""")
execute("""
ALTER TABLE guides
DROP COLUMN searchable
""")
execute("""
ALTER TABLE library_versions
DROP COLUMN searchable
""")
execute("""
ALTER TABLE mix_tasks
DROP COLUMN searchable
""")
execute("""
ALTER TABLE modules
DROP COLUMN searchable
""")
execute("""
ALTER TABLE options
DROP COLUMN searchable
""")
drop_if_exists(index(:options, ["searchable"], name: "options_searchable_index"))
drop_if_exists(index(:modules, ["searchable"], name: "modules_searchable_index"))
drop_if_exists(index(:mix_tasks, ["searchable"], name: "mix_tasks_searchable_index"))
drop_if_exists(
index(:library_versions, ["searchable"], name: "library_versions_searchable_index")
)
drop_if_exists(index(:guides, ["searchable"], name: "guides_searchable_index"))
drop_if_exists(index(:functions, ["searchable"], name: "functions_searchable_index"))
drop_if_exists(index(:extensions, ["searchable"], name: "extensions_searchable_index"))
alter table(:extensions) do
remove(:order)
remove(:type)
remove(:doc_html)
remove(:doc)
remove(:default_for_target)
remove(:target)
remove(:name)
remove(:sanitized_name)
end
drop_if_exists(
unique_index(:extensions, [:library_version_id, :name],
name: "extensions_unique_name_by_library_version_index"
)
)
drop_if_exists(index(:dsls, ["searchable"], name: "dsls_searchable_index"))
end
def down do
create index(:dsls, ["searchable"], using: "GIN")
create unique_index(:extensions, [:library_version_id, :name],
name: "extensions_unique_name_by_library_version_index"
)
alter table(:extensions) do
add(:sanitized_name, :text, null: false)
add(:name, :text, null: false)
add(:target, :text)
add(:default_for_target, :boolean, default: false)
add(:doc, :text, null: false, default: "")
add(:doc_html, :text)
add(:type, :text, null: false)
add(:order, :bigint, null: false)
end
create index(:extensions, ["searchable"], using: "GIN")
create index(:functions, ["searchable"], using: "GIN")
create index(:guides, ["searchable"], using: "GIN")
create index(:library_versions, ["searchable"], using: "GIN")
create index(:mix_tasks, ["searchable"], using: "GIN")
create index(:modules, ["searchable"], using: "GIN")
create index(:options, ["searchable"], using: "GIN")
execute("""
ALTER TABLE options
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
execute("""
ALTER TABLE modules
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
execute("""
ALTER TABLE mix_tasks
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
execute("""
ALTER TABLE library_versions
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', version), 'A')
) STORED;
""")
execute("""
ALTER TABLE guides
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', text), 'D')
) STORED;
""")
execute("""
ALTER TABLE functions
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
execute("""
ALTER TABLE extensions
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
execute("""
ALTER TABLE dsls
ADD COLUMN searchable tsvector
GENERATED ALWAYS AS (
setweight(to_tsvector('english', name), 'A') ||
setweight(to_tsvector('english', doc), 'D')
) STORED;
""")
end
end

View file

@ -0,0 +1,288 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_path",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "requires_extension",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "doc",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "doc_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "[]",
"size": null,
"type": [
"array",
"text"
],
"source": "imports",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": [
"array",
"text"
],
"source": "examples",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": [
"array",
"text"
],
"source": "args",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "[]",
"size": null,
"type": [
"array",
"text"
],
"source": "optional_args",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "map",
"source": "arg_defaults",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": [
"array",
"text"
],
"source": "path",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "recursive_as",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "type",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "dsls_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "extension_id",
"references": {
"name": "dsls_extension_id_fkey",
"table": "extensions",
"on_delete": null,
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "dsl_id",
"references": {
"name": "dsls_dsl_id_fkey",
"table": "dsls",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "dsls",
"hash": "22415319BE58AA8F9C3BFCD3D8FDAA9B582B70624F8FB5C318D3B5183445475C",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,87 @@
{
"attributes": [
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "module",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "extensions_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "extensions",
"hash": "342949CF68C6CCA6EE1C76E5ABA5AEC7C63E064927FF427DCA0B2DE4A255271B",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,231 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "file",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "line",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "arity",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "type",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "[]",
"size": null,
"type": [
"array",
"text"
],
"source": "heads",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "[]",
"size": null,
"type": [
"array",
"text"
],
"source": "heads_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "doc",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "doc_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "deprecated",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "functions_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "module_id",
"references": {
"name": "functions_module_id_fkey",
"table": "modules",
"on_delete": null,
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "functions",
"hash": "FA5C6C66BBB9F232D2675255BEA6C08D52F10351BA1895202F271891AB1E5858",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,167 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "text",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "text_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "\"Topics\"",
"size": null,
"type": "text",
"source": "category",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "route",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_route",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "false",
"size": null,
"type": "boolean",
"source": "default",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "guides_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "guides",
"hash": "14F352DA23D0F993BE7ECE03B0CC6903AE9597D5F95F7B0ABF948E6677073810",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,117 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_version",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "version",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "false",
"size": null,
"type": "boolean",
"source": "hydrated",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_id",
"references": {
"name": "library_versions_library_id_fkey",
"table": "libraries",
"on_delete": null,
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "library_versions",
"hash": "C2D22CB8C4D6FA3C745114FBF4A9635E314D20C627B98BA022EC917057518CAF",
"repo": "Elixir.AshHq.Repo",
"identities": [
{
"name": "unique_version_for_library",
"keys": [
"version",
"library_id"
],
"base_filter": null,
"index_name": "library_versions_unique_version_for_library_index"
}
],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,157 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "\"Misc\"",
"size": null,
"type": "text",
"source": "category",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "file",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "module_name",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "doc",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "doc_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "mix_tasks_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "mix_tasks",
"hash": "EF5AAD30BAE9153E60C63783843D1F170D19C60E0208954C967C52858E861F35",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,147 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "\"Misc\"",
"size": null,
"type": "text",
"source": "category",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "file",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "doc",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "doc_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "modules_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "modules",
"hash": "7B1D68F9A1545DD52FC39DEF646BD47D0DAE8C345DBC4B8B0274800B3E1E1D1D",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -0,0 +1,246 @@
{
"attributes": [
{
"default": "nil",
"size": null,
"type": "text",
"source": "sanitized_path",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"uuid_generate_v4()\")",
"size": null,
"type": "uuid",
"source": "id",
"references": null,
"allow_nil?": false,
"primary_key?": true,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "name",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "type",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "\"\"",
"size": null,
"type": "text",
"source": "doc",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "doc_html",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "false",
"size": null,
"type": "boolean",
"source": "required",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "argument_index",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "%{}",
"size": null,
"type": "map",
"source": "links",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "text",
"source": "default",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": [
"array",
"text"
],
"source": "path",
"references": null,
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "bigint",
"source": "order",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "inserted_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "fragment(\"now()\")",
"size": null,
"type": "utc_datetime_usec",
"source": "updated_at",
"references": null,
"allow_nil?": false,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "dsl_id",
"references": {
"name": "options_dsl_id_fkey",
"table": "dsls",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "library_version_id",
"references": {
"name": "options_library_version_id_fkey",
"table": "library_versions",
"on_delete": "delete",
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
},
{
"default": "nil",
"size": null,
"type": "uuid",
"source": "extension_id",
"references": {
"name": "options_extension_id_fkey",
"table": "extensions",
"on_delete": null,
"on_update": null,
"destination_attribute": "id",
"schema": "public",
"primary_key?": true,
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"deferrable": false,
"match_with": null,
"match_type": null,
"destination_attribute_default": null,
"destination_attribute_generated": null
},
"allow_nil?": true,
"primary_key?": false,
"generated?": false
}
],
"table": "options",
"hash": "C193F0FF2EA938991AB29989B4AAECCBF68B873843BE25F2128D41E65EE73DC9",
"repo": "Elixir.AshHq.Repo",
"identities": [],
"schema": null,
"base_filter": null,
"check_constraints": [],
"custom_indexes": [],
"multitenancy": {
"global": null,
"strategy": null,
"attribute": null
},
"custom_statements": [],
"has_create_action": true
}

View file

@ -263,7 +263,7 @@
], ],
"table": "dsls", "table": "dsls",
"hash": "1F9579EE107DF7B8C1697382D5D26B103E514DC76F1F6ED574AE1D4D9A63D52A", "hash": "1F9579EE107DF7B8C1697382D5D26B103E514DC76F1F6ED574AE1D4D9A63D52A",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -274,4 +274,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -263,7 +263,7 @@
], ],
"table": "dsls", "table": "dsls",
"hash": "48AE588FFC6527FCB577BAF5BED1D2BC77DDFB5F77DDE0530068B2C551A0D8DE", "hash": "48AE588FFC6527FCB577BAF5BED1D2BC77DDFB5F77DDE0530068B2C551A0D8DE",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -148,7 +148,7 @@
], ],
"table": "extensions", "table": "extensions",
"hash": "85594B24618F7EC6EE267F52CF2D16401E54DB023649FDC9ADA49BA33FECB6B7", "hash": "85594B24618F7EC6EE267F52CF2D16401E54DB023649FDC9ADA49BA33FECB6B7",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [ "identities": [
{ {
"name": "unique_name_by_library_version", "name": "unique_name_by_library_version",
@ -169,4 +169,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -148,7 +148,7 @@
], ],
"table": "extensions", "table": "extensions",
"hash": "B7E48389399B495B626A3B5DA3BD8DFB84020D6110AFC74C98282963D47532E1", "hash": "B7E48389399B495B626A3B5DA3BD8DFB84020D6110AFC74C98282963D47532E1",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -98,7 +98,7 @@
], ],
"table": "extensions", "table": "extensions",
"hash": "D5A8C840F686B00B4BBF777766E090ABF33DF738E31C4B55C9A74021F6DE5F93", "hash": "D5A8C840F686B00B4BBF777766E090ABF33DF738E31C4B55C9A74021F6DE5F93",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"custom_indexes": [], "custom_indexes": [],
"custom_statements": [], "custom_statements": [],
"multitenancy": { "multitenancy": {

View file

@ -88,7 +88,7 @@
], ],
"table": "extensions", "table": "extensions",
"hash": "434F994CE5D27E22BB6C339D676EE91C369BF6EB4A229A3572FB0E63F9C1D585", "hash": "434F994CE5D27E22BB6C339D676EE91C369BF6EB4A229A3572FB0E63F9C1D585",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"multitenancy": { "multitenancy": {
"global": null, "global": null,

View file

@ -68,7 +68,7 @@
], ],
"table": "extensions", "table": "extensions",
"hash": "1AC8484F12B89285D069CA667A143EAEAE254A3242DF31B11951A459DCC23E10", "hash": "1AC8484F12B89285D069CA667A143EAEAE254A3242DF31B11951A459DCC23E10",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"strategy": null, "strategy": null,

View file

@ -209,7 +209,7 @@
], ],
"table": "functions", "table": "functions",
"hash": "95D436C4E7FFEAAFB97F1C986637213AE7BC0F86C2F10DC5A7988AFB375E32A6", "hash": "95D436C4E7FFEAAFB97F1C986637213AE7BC0F86C2F10DC5A7988AFB375E32A6",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -220,4 +220,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -209,7 +209,7 @@
], ],
"table": "functions", "table": "functions",
"hash": "19BEF85ED8D07D786EB4686B1920B0532A09E604A80F436BDFC314DF9DF87E1A", "hash": "19BEF85ED8D07D786EB4686B1920B0532A09E604A80F436BDFC314DF9DF87E1A",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -148,7 +148,7 @@
], ],
"table": "guides", "table": "guides",
"hash": "25F122033820A577CE8A2BA71F5B82A32884B4FF50B844923CB2BE4D264428F5", "hash": "25F122033820A577CE8A2BA71F5B82A32884B4FF50B844923CB2BE4D264428F5",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -159,4 +159,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -148,7 +148,7 @@
], ],
"table": "guides", "table": "guides",
"hash": "D1E405AB450572FE202B233DF061DD74A52A4512692A321CDF57BF22736B6D7B", "hash": "D1E405AB450572FE202B233DF061DD74A52A4512692A321CDF57BF22736B6D7B",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -119,7 +119,7 @@
], ],
"table": "libraries", "table": "libraries",
"hash": "2731C131CB28C040C03C0E6BADE2779536AD7B1E9DA86C870B8DC2D14B2A5DD8", "hash": "2731C131CB28C040C03C0E6BADE2779536AD7B1E9DA86C870B8DC2D14B2A5DD8",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [ "identities": [
{ {
"name": "unique_name", "name": "unique_name",

View file

@ -119,7 +119,7 @@
], ],
"table": "libraries", "table": "libraries",
"hash": "E15F5D47277F5D12F1F2B4F5FC7F3E94B76D5423833044A6D18FD34FF6B2382A", "hash": "E15F5D47277F5D12F1F2B4F5FC7F3E94B76D5423833044A6D18FD34FF6B2382A",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -88,7 +88,7 @@
], ],
"table": "library_versions", "table": "library_versions",
"hash": "D491A51EE472E1A5DF2EA4F32E1D014DD937D10879FE2C694E726EDB8E871FFA", "hash": "D491A51EE472E1A5DF2EA4F32E1D014DD937D10879FE2C694E726EDB8E871FFA",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [ "identities": [
{ {
"name": "unique_version_for_library", "name": "unique_version_for_library",
@ -109,4 +109,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -88,7 +88,7 @@
], ],
"table": "library_versions", "table": "library_versions",
"hash": "9D3B7DCCFD6D9DBE0CA3B5D44A9BD06741EDEBC133CFD67D979D50A248C3488D", "hash": "9D3B7DCCFD6D9DBE0CA3B5D44A9BD06741EDEBC133CFD67D979D50A248C3488D",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -138,7 +138,7 @@
], ],
"table": "mix_tasks", "table": "mix_tasks",
"hash": "D3C538359FA20C7C0CC52FE78BCC1509231B5020985AAEA4E638587370012F33", "hash": "D3C538359FA20C7C0CC52FE78BCC1509231B5020985AAEA4E638587370012F33",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -149,4 +149,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -138,7 +138,7 @@
], ],
"table": "mix_tasks", "table": "mix_tasks",
"hash": "B015AAFD4B61EA96B5305765B2F485F68013A330169D84AA079BBC20BAABA29C", "hash": "B015AAFD4B61EA96B5305765B2F485F68013A330169D84AA079BBC20BAABA29C",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -128,7 +128,7 @@
], ],
"table": "modules", "table": "modules",
"hash": "1E61E69895F51572F798E771261BD5545AC33F24BFD6F56498D82B6B2F8E1503", "hash": "1E61E69895F51572F798E771261BD5545AC33F24BFD6F56498D82B6B2F8E1503",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -139,4 +139,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -128,7 +128,7 @@
], ],
"table": "modules", "table": "modules",
"hash": "309E8CCA77F8E197373E7B87C09BF24DD1FC3E7E8C5ED8553E4899A5E7688399", "hash": "309E8CCA77F8E197373E7B87C09BF24DD1FC3E7E8C5ED8553E4899A5E7688399",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -221,7 +221,7 @@
], ],
"table": "options", "table": "options",
"hash": "22D8D77A5D911CB88F8C061E8B7E1AAEDF81742C1DBCDA8EE3757277B04C3F52", "hash": "22D8D77A5D911CB88F8C061E8B7E1AAEDF81742C1DBCDA8EE3757277B04C3F52",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"identities": [], "identities": [],
"custom_indexes": [], "custom_indexes": [],
"base_filter": null, "base_filter": null,
@ -232,4 +232,4 @@
"attribute": null "attribute": null
}, },
"has_create_action": true "has_create_action": true
} }

View file

@ -221,7 +221,7 @@
], ],
"table": "options", "table": "options",
"hash": "72E5DAC306E485BE95931E83762B6BE8F7E6C2220AA3444803504ABF1ADA6E8D", "hash": "72E5DAC306E485BE95931E83762B6BE8F7E6C2220AA3444803504ABF1ADA6E8D",
"repo": "Elixir.AshHq.SqliteRepo", "repo": "Elixir.AshHq.Repo",
"multitenancy": { "multitenancy": {
"global": null, "global": null,
"attribute": null, "attribute": null,

View file

@ -1,4 +1,4 @@
defmodule AshHq.SqliteRepo.Migrations.MigrateResources1 do defmodule AshHq.Repo.Migrations.MigrateResources1 do
@moduledoc """ @moduledoc """
Updates resources based on their most recent snapshots. Updates resources based on their most recent snapshots.

View file

@ -1,4 +1,4 @@
defmodule AshHq.SqliteRepo.Migrations.MigrateResources2 do defmodule AshHq.Repo.Migrations.MigrateResources2 do
@moduledoc """ @moduledoc """
Updates resources based on their most recent snapshots. Updates resources based on their most recent snapshots.

View file

@ -1,4 +1,4 @@
defmodule AshHq.SqliteRepo.Migrations.MigrateResources3 do defmodule AshHq.Repo.Migrations.MigrateResources3 do
@moduledoc """ @moduledoc """
Updates resources based on their most recent snapshots. Updates resources based on their most recent snapshots.

View file

@ -1,4 +1,4 @@
defmodule AshHq.SqliteRepo.Migrations.RemoveExtensionFields do defmodule AshHq.Repo.Migrations.RemoveExtensionFields do
@moduledoc """ @moduledoc """
Updates resources based on their most recent snapshots. Updates resources based on their most recent snapshots.